2012-06-14 179 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),它會工作嗎?

相關問題