我正在使用 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)
#...