如何在QtDesigner中设计的主窗口类中实现对话框?

时间:2011-10-09 21:39:19

标签: python pyqt

我正在编写一个小应用程序(学习Python和PyQt),它有一个“关于”框。我在QtDesigner中设计了QMainWindow,并设法让它工作。我还在QtDesigner中将About框设计为对话框。

我使用pyuic4将.ui文件转换为.py文件,main.py和about-dialog.py

但是,如何从主应用程序“调用”about对话框?该功能应该是什么样的?我试着把:

dialog = ui_aboutDialog.Ui_aboutDlg()
dialog.exec_()

但是,它告诉我关于对话框没有“exec”属性(对于.show())也是如此。

这是aboutDialog类的开头:

class Ui_aboutDlg(object):
    def setupUi(self, aboutDlg):
        aboutDlg.setObjectName(_fromUtf8("aboutDlg"))
        aboutDlg.resize(400, 262)
        ...

我认为这个setupUi有问题,而且它应该是 __ init __ ,但是尝试它也没有产生任何结果。

帮助?

1 个答案:

答案 0 :(得分:3)

仔细阅读the tutorial。 pyuic4工具不会为您创建完整的对话框;它只会提供一个设置现有对话框的方法。

dialog = QtGui.QDialog()
ui = ui_aboutDialog.Ui_aboutDlg()
ui.setupUi(dialog)
dialog.exec_()