python - 如何生成Taurusdesigner或Qt下创建的GUI的Python代码?

标签 python qt user-interface pyqt4

首先让我告诉你,我是 Qt 和 Python 的新手。

我正在使用 Qt(Taurusdesigner) 来创建我的 GUI。 启动 Qt(Taurusdesigner) 后,我使用以下方法为该特定 GUI 生成 python 代码:

taurusuic4 -x -o file.py file.ui
or
pyuic4 -x -o file.py file.ui

在命令行上执行此命令后,我可以生成 python 文件,但自动生成的类如下所示:

class MainWindow(object):
    def setupUi(self, MainWindow):

当我在 Google 上搜索任何帮助时,我发现类的写法如下:

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):

如何使用 Qt(Taurusdesigner)生成第二种类型的类文件??

为什么我的类和为互联网上的帮助而编写的类存在语法差异。 请帮助解决这个问题。 提前致谢。

最佳答案

taurusuic4/pyuic4 生成的 ui 模块应导入到您的主应用程序中。您不需要使用 -x 选项,显然您应该选择比“file”更好的模块名称:

taurusuic4 -o mainwindow.py file.ui

您的主应用程序模块应如下所示:

from PyQt4.QtGui import QMainWindow
from mainwindow import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.pushButton.clicked.connect(self.handleButton)

    def handleButton(self):
        print('Hello World!')

这种方法意味着 Qt(Taurus) Designer 中的所有小部件最终都会成为 MainWindow 类的属性。另一种方法是将 ui 元素放在单独的命名空间中:

class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.handleButton)

关于python - 如何生成Taurusdesigner或Qt下创建的GUI的Python代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455001/

相关文章:

python - pyspark 中处理大数据的优化

python - 使用另一个数据帧的多索引过滤一个数据帧

c++ - 将编译器从 gcc 切换到 msvc 后,Qt 应用程序在退出时崩溃

适用于类似 Office 2013 的 Windows 的 Windows GUI 库?

javascript - 如何用纯Javascript实现Git来创建GUI?

Python Pip 被 sys.stderr.write(f"ERROR : {exc}")) 损坏

qt - 如何将 Qt 与 Julia 一起使用

c++ - 将宏参数中的序列转换为单独的宏

java - 无法将复选框添加到我的窗口

python - 在批量 uploader 中正确编码文本