Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何让QFrame更新其内容而不必在QFrame区域上单击鼠标?_Python_Pyqt_Pyqt5_Qframe - Fatal编程技术网

Python 如何让QFrame更新其内容而不必在QFrame区域上单击鼠标?

Python 如何让QFrame更新其内容而不必在QFrame区域上单击鼠标?,python,pyqt,pyqt5,qframe,Python,Pyqt,Pyqt5,Qframe,我正在用PyQt5创建一个GUI,在主窗口中我有一个QFrame,经过一些计算后,一个网格被添加到这个对象,但是,直到我在QFrame区域上悬停时单击鼠标,打印的网格才会显示在屏幕上 我正在尝试将其自动化,以便在计算网格后,QFrame立即更新和打印。有人知道怎么做吗 我看到的重要代码行如下所示。在一个单独的文件中,我有一个包含GUI所有属性的类,主类从中继承。在主类中,获取网格并将其添加到QFrame 调用plotMesh()时,网格将添加到QFrame,但我必须稍后单击QFrame以恢复图像

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

我正在尝试将其自动化,以便在计算网格后,QFrame立即更新和打印。有人知道怎么做吗

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

调用plotMesh()时,网格将添加到QFrame,但我必须稍后单击QFrame以恢复图像

我希望QFrame在plotMesh()结束后立即更新其内容

class Ui\u主窗口(对象):
def设置UI(自我,主窗口)
# ...
self.vtkFrame=qtwidts.QFrame(self.layoutWidget)
# ...
# ...
将pyvista导入为pv
类MainWindow(QtWidgets.QMainWindow,Ui_MainWindow):
定义初始化(self,*args,**kwargs):
# ...
self.vtk_widget=pv.QtInteractor(self.vtkFrame)
# ...
# ...
def plotMesh()
# ...
r_vtk=XXX#XXX代表函数和计算
#获取网格
self.vtk_小部件.添加网格(r_vtk)
#...

此时,您可以在不使用MRE的情况下执行以下两种操作之一——您可以为该对象调用鼠标单击事件,也可以确定当您在该对象上单击鼠标时激活的内容,然后调用该事件。Aka使用车辆上的车轮(或了解车轮如何工作),而不是发明自己的东西!对于任何可能需要它的读者,可以调用pyvista内置函数来强制QFrame更新其内容,pv.update()