0

我正在使用 PyQt5 创建一个 GUI,在主窗口中我有一个 QFrame,经过一些计算,一个网格被添加到这个对象,但是,直到我在 QFrame 区域上悬停时单击鼠标,绘制的网格才会出现在屏幕。

我正在尝试使其自动化,这样一旦计算出我的网格,QFrame 就会立即更新和绘图。有人对如何做到这一点有任何想法吗?

我拥有的重要代码行如下所示。在一个单独的文件中,我有一个包含 GUI 的所有属性的类,主类从该类继承。在主类中,获取网格并将其添加到 QFrame。

当调用 plotMesh() 时,网格被添加到 QFrame,但我必须稍后单击 QFrame 来设置图像。

我想要发生的是 QFrame 在 plotMesh() 结束后立即更新其内容

class Ui_MainWindow(object):
   def setupUi(self, MainWindow)
        # ...
        self.vtkFrame = QtWidgets.QFrame(self.layoutWidget)
        # ...
   # ...


import pyvista as pv

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
   def __init__(self, *args, **kwargs):
        # ...
        self.vtk_widget = pv.QtInteractor(self.vtkFrame)
        # ...
   # ...

   def plotMesh()
        # ...
        r_vtk = XXX  # XXX stands for functions and calculations 
                     # to get the mesh
        self.vtk_widget.add_mesh(r_vtk)
   #...
4

0 回答 0