我在PyQt中做了一个GUI,我正在尝试在两个窗口之间进行转换。我尝试了以下代码,但它不起作用。我确定我犯了一个错误,但我不知道如何纠正它?
def TransButton(self):
win1 = AddWindow() (another class)
win1.show()
答案 0 :(得分:0)
看起来您正在创建一个没有父级的新窗口。因此,当TransButton
方法结束时,win1
变量被垃圾收集(删除),因为Python或Qt库都没有对它进行引用(如果它有父项,Qt就会这样)
解决此问题的最快方法是将代码更改为:
def TransButton(self):
self.win1 = AddWindow() (another class)
self.win1.show()
将win1
变量存储为实例属性。只要包含win1
的实例仍然存在,这就可以防止TransButton
被垃圾回收(这个窗口被删除)。