首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pyside6将ui文件转换为py

使用pyside6将ui文件转换为py
EN

Stack Overflow用户
提问于 2021-09-06 15:47:24
回答 2查看 814关注 0票数 0

我只是尝试使用pyside6将ui文件转换为py文件。

当我使用pyside2时,我写了这个命令行来转换文件:

代码语言:javascript
复制
pyside2-uic MainWindow.ui -o ui_mainwindow.py -x

但在pyside6中,它不再起作用了:"-x“看起来不再是必要的。所以你必须这样写:

代码语言:javascript
复制
pyside6-uic MainWindow.ui -o ui_mainwindow.py

但是,当我运行生成的新文件时,什么也没有发生。我看了看文件的末尾,它遗漏了pyside2中的一部分。这部分代码已经不在这里了:

代码语言:javascript
复制
if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2021-09-06 15:56:12

您没有做错什么,添加这部分代码是为了创建pyuic文件的“可执行”版本,其目的主要是测试它。

我不知道是否已经放弃了对-x的支持,但这是有道理的,而且无论如何都不会有太大的影响: pyuic生成的文件并不打算被执行,也不应该手动修改,因为它们应该只用作using Designer官方指南中解释的导入。

票数 0
EN

Stack Overflow用户

发布于 2021-10-19 05:48:17

我的方法是导入uic创建的类:

代码语言:javascript
复制
from ui_mainwindow import Ui_MainWindow

然后创建一个QMainWindow类并实例化uic类。您需要在实例上调用setupUi方法。

代码语言:javascript
复制
class UI(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

    ...

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    win = UI()
    win.show()
    app.exec()

现在,您可以通过self.ui访问所有小部件:

代码语言:javascript
复制
self.ui.myPushButton.clicked.connect(self.doSomething)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69077280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档