PyQt中的窗口转换

时间:2014-10-15 18:06:22

标签: python pyqt

我在PyQt中做了一个GUI,我正在尝试在两个窗口之间进行转换。我尝试了以下代码,但它不起作用。我确定我犯了一个错误,但我不知道如何纠正它?

def TransButton(self):
    win1 = AddWindow() (another class)
    win1.show()

1 个答案:

答案 0 :(得分:0)

看起来您正在创建一个没有父级的新窗口。因此,当TransButton方法结束时,win1变量被垃圾收集(删除),因为Python或Qt库都没有对它进行引用(如果它有父项,Qt就会这样)

解决此问题的最快方法是将代码更改为:

def TransButton(self):
    self.win1 = AddWindow() (another class)
    self.win1.show()

win1变量存储为实例属性。只要包含win1的实例仍然存在,这就可以防止TransButton被垃圾回收(这个窗口被删除)。