我正在尝试在单击按钮时打开一个窗口(QWidget)。我的问题是,无论我尝试过什么,当我点击按钮时第二个窗口都不显示。这两个窗口是使用QTDesigner创建的。 这是一个小片段,解释我正在尝试做什么:
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 :(得分:0)
不确定,但两个随意的想法:
如果您向on_btn_clicked
添加打印声明,当您点击按钮时是否看到任何内容?这将诊断它是否是一个触发问题的事件
如果您将setupUI(parent)
命令更改为setupUI(self)
?