如何在其他 .py 模块中打开 Qdialog

Posted

技术标签:

【中文标题】如何在其他 .py 模块中打开 Qdialog【英文标题】:how open Qdialog in other .py module 【发布时间】:2013-01-09 01:17:20 【问题描述】:

我已经用 Qt 设计器做了一个 GUI 界面,并将 .ui 文件编译成 .py 文件。在主窗口我有这个类:

class Projektdlg(QMainWindow, ui_Projekt.Ui_MainWindow):

    def __init__(self, parent=None):
        super(Projektdlg, self).__init__(parent)
        self.setupUi(self)
        self.connect(self.actionCalibration, SIGNAL("triggered()"), self.CalibrationSettings)

单击工具栏上的 calibration 时,我想从生成的 ui_calibration 文件中打开 QDialog。该怎么做?

def CalibrationSettings(self):

    Dialog = ui_calibration.Ui_DialogCalibration()

所有模块都被导入

【问题讨论】:

【参考方案1】:

试试这样的:

class myDialog(QtGui.QDialog, Ui_DialogCalibration):
    def __init__(self, parent=None):
        super(myDialog, self).__init__(parent)

        self.setupUi(self)

然后在你的课堂上:

Dialog = myDialog(self)

那你可以拨打Dialog.show()Dialog.exec_()

【讨论】:

@TomislavKres 查看我的updated answer,我添加了一些有关如何构建您的QDialog 的更多信息 如果我想将列表传递给新打开的对话框,代码和你写的一样,怎么做?我可以在 init 函数中添加更多参数吗? @Error 我可以帮你解决这个问题,请创建另一个问题并在评论中提及我,以便我收到通知

以上是关于如何在其他 .py 模块中打开 Qdialog的主要内容,如果未能解决你的问题,请参考以下文章

如何控制QDialog的位置?

Python - 如何在模块内打开文件?

如何在点击外部关闭 QDialog 并在点击子小部件时关闭?

如何将 fixed_seed 从 main.py 模块转移到其他模块?

PyQt:如何将选择的 Combobox 值从 QDialog 传递到主窗口?

如何从python中的其他目录导入模块? [复制]