如何从现有窗口创建新的PyQt4窗口?

如何从现有窗口创建新的PyQt4窗口?,第1张

如何从现有窗口创建新的PyQt4窗口?

尽管

pyuic
可以使用该
-x, --execute
选项创建可执行脚本,但它主要用于测试。

的主要目的

pyuic
是创建 静态 从Qt的Desgner Python模块
ui
文件,让您 导入 包含的GUI类到应用程序中。

假设您已经

ui
使用Qt Designer创建了两个文件,并将它们分别命名为
v1.ui
v2.ui

然后,您将像这样创建两个python模块:

pyuic4 -o v1.py v1.uipyuic4 -o v2.py v2.ui

接下来,您将编写一个单独的

main.py
脚本,该脚本从模块中导入GUI类,并根据需要创建它们的实例。

因此,您

main.py
可能看起来像这样:

from PyQt4 import QtGuifrom v1 import Ui_Form1from v2 import Ui_Form2class Form1(QtGui.QWidget, Ui_Form1):    def __init__(self, parent=None):        QtGui.QWidget.__init__(self, parent)        self.setupUi(self)        self.button1.clicked.connect(self.handleButton)        self.window2 = None    def handleButton(self):        if self.window2 is None: self.window2 = Form2(self)        self.window2.show()class Form2(QtGui.QWidget, Ui_Form2):    def __init__(self, parent=None):        QtGui.QWidget.__init__(self, parent)        self.setupUi(self)if __name__ == '__main__':    import sys    app = QtGui.QApplication(sys.argv)    window = Form1()    window.show()    sys.exit(app.exec_())

请注意,为了避免名称空间冲突,我对您的GUI类的名称进行了一些更改。为了给GUI类更好的名称,只需

objectName
在Qt
Desgner中设置顶级类的属性即可。而且,
pyuic
更改后,请不要忘记重新运行!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存