lstzcy преди 1 месец
родител
ревизия
2cf4109106
променени са 3 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. BIN
      __pycache__/glWidget_simple.cpython-39.pyc
  2. BIN
      __pycache__/handle_simple.cpython-39.pyc
  3. 13 1
      glWidget_simple.py

BIN
__pycache__/glWidget_simple.cpython-39.pyc


BIN
__pycache__/handle_simple.cpython-39.pyc


+ 13 - 1
glWidget_simple.py

@@ -1,5 +1,6 @@
 import sys
 import numpy as np
+from PyQt5.QtGui import QColor, QFont
 from PyQt5.QtWidgets import QApplication, QOpenGLWidget, QVBoxLayout, QWidget
 from PyQt5.QtCore import Qt, pyqtSignal
 from OpenGL.GL import *
@@ -41,6 +42,8 @@ class Simple3DWidget(QOpenGLWidget):
         self.picking = False  # 是否处于拾取模式
         self.picking_color_map = {}  # 顶点索引 → 唯一颜色(用于反查)
 
+        self.setFont(QFont("SimHei", 10))  # 让 renderText 使用黑体
+
 
 
 
@@ -131,13 +134,22 @@ class Simple3DWidget(QOpenGLWidget):
                 for i, v in enumerate(self.vertices):
                     # 判断是否是选中点
                     if self.selected_point is not None and np.allclose(v, self.selected_point, atol=1e-6):
-                        glColor3f(1.0, 0.0, 0.0)  # 红色高亮
+                        glColor3f(1.0, 1.0, 0.0)  # 黄色高亮
                     else:
                         glColor3f(*self.colors[i])  # 原始颜色
                     glVertex3f(v[0], v[1], v[2])
             finally:
                 glEnd()  # ✅ 保证执行
 
+            # ✅ 在 glEnd() 之后再绘制文字!
+            if self.selected_point is not None:
+                x, y, z = self.selected_point
+                offset = 0.05
+                # 设置文字颜色
+                glColor3f(1.0, 1.0, 0.0)  # 黄色
+                self.renderText(x + offset, y + offset, z + offset, "Selected")
+
+
         elif self.display_mode == 'surface' and len(self.triangles) > 0:
             # ✅ 开启光照
             glEnable(GL_LIGHTING)