2012-06-14 177 views
1

我试图打开一个窗口(QWidget)时点击一个按钮。我的问题是,无论我尝试过什么,当我单击按钮时,第二个窗口都不会显示出来。这两个窗口是使用QTDesigner创建的。 这里是一个小片段解释什么是我想要做的事:pyQT4:如何从另一个窗口打开窗口

from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
from win1 import * 
from win2 import * 
import sys 

class win1(QWidget, Ui_Win1): 
    def __init__(self, parent = None): 
    self.parent = parent 
    QWidget.__init__(self) 
    self.setupUi(parent) 
    self.connect(self.pushButton, SIGNAL("clicked()"), self.on_btn_clicked) 

    def on_btn_clicked(self): 
    self.child = win2(self.parent) 
    self.child.show() 

class win2(QWidget, Ui_Win2): 
    def __init__(self, parent = None): 
    QWidget.__init__(self) 
    self.setupUi(parent) 

def main(args): 
    app = QApplication(args) 
    win = QWidget() 
    a = win1(win) 
    win.show() 
    result = app.exec_() 

if __name__=="__main__": 
    main(sys.argv) 

缺少什么我在这里? 谢谢。

回答

0

不知道,但两个随机的想法:

如果添加一个print语句on_btn_clicked,你看到什么了,当你点击按钮?这将诊断它是否是事件触发问题

如果将setupUI(parent)命令更改为setupUI(self),它会工作吗?

相关问题