我设计了两个小部件 - 一个是主应用程序小部件和一个自定义小部件,它允许我在主应用程序中设置首选项。他们被命名为 - 主要和儿童。
现在,当我单击主应用程序中的按钮时,我无法显示子窗口小部件。 试图从使用Python和Qt书的Rapid GUI编程中学习,但是给出的示例是手写代码形式而不是使用QtDesigner设计的。我很困惑。请帮助。
到目前为止我的代码就是这个 -
import serial, sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from main import Ui_Form # main.py and child.py are the ui
from child import Ui_Form as Child_Form # files generated using pyuic4
class Main(QMainWindow):
def __init__(self, parent = None):
super(Main, self).__init__(parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
self.connect(self.ui.btnLaunch, SIGNAL("clicked()"), self.show)
def show(self):
dialog = QDialog()
dialog.ui = Child_Form()
dialog.ui.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
myapp = Main()
myapp.show()
sys.exit(app.exec_())
但是,当我尝试启动此程序时,没有任何反应。
答案 0 :(得分:0)
而不是这段代码:
self.connect(self.ui.btnLaunch, SIGNAL("clicked()"), self.show)
def show(self):
dialog = QDialog()
dialog.ui = Child_Form()
dialog.ui.setupUi(self)
试试这个,它应该有效:
self.connect(self.ui.btnLaunch, SIGNAL("clicked()"), self.showDialog)
def showDialog(self):
dialog = QDialog()
dialog.ui = Child_Form()
dialog.ui.setupUi(self)
dialog.show()