如何在其他 .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 并在点击子小部件时关闭?
如何将 fixed_seed 从 main.py 模块转移到其他模块?