1

单击按钮时,我试图打开一个窗口(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)

我在这里想念什么?谢谢。

4

1 回答 1

0

不确定,但有两个随机的想法:

如果在 中添加打印语句on_btn_clicked,单击按钮时是否看到任何内容?这将诊断它是否是事件触发问题

setupUI(parent)如果您将命令更改为 ,它是否有效setupUI(self)

于 2012-07-23T04:39:18.880 回答