在我的应用程序中,即使show()
返回isVisible
,我也会在调用true
后显示未显示的QWidget。
此小部件是从主应用程序窗口的事件创建的。但是当它自己开始时,即作为应用程序中唯一的小部件时,它会正常显示。
任何人都知道可能导致此行为的原因是什么?
我的应用程序中的其他小部件通常只显示这个小部件给我带来麻烦。它实际上用于在先前版本的Qt4下工作(不记得是哪个)。
小部件的代码是here
更新:Windows似乎出现并立即被销毁。
答案 0 :(得分:4)
相关代码位于hidx/GUI/main.py
:
@pyqtSignature("")
def on_actionScatterplot_Matrix_activated(self):
...
spm = scatmat.ScatMat(pars, self.currentdbname)
print "==>", spm.pw.isVisible()
spm.pw.hide()
spm.pw.showMaximized()
print spm.pw.size()
print "==>", spm.pw.isVisible()
@pyqtSignature("int")
def on_rowStart_valueChanged(self, p0):
...
在on_actionScatterplot_Matrix_activated
中,您创建了ScatMat
的实例,但不保留对它的引用。因此,窗口将被简要显示,然后在函数完成后立即进行垃圾收集。