2

因此,我使用 QtDesigner 设计了我的 UI 并将其转换为 Python 类,该类名为 Ui_MainWindow,我要调用以显示 UI 的函数称为 setupUi。

我找到了使用 PySide1 显示 UI 的代码片段,但作为新手用户,我不明白如何将代码移植到 PySide2。

from PySide2 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(381, 347)......................................etc.

https://pastebin.com/NJXEaLrF

我找不到有关转换 .UI 文件以及如何使用输出文件的完整教程。

4

4 回答 4

3

在上一个版本(uic 5.15)中,参数 -x 不再使用,您只需使用

pyside2-uic mainwindow.ui -o mainwindow.py

mainwindow.py在您的主要 Python 脚本中使用您的转译文件 ( ):

from PySide2.QtWidgets import QMainWindow                                                                                                                  
from mainwindow import Ui_MainWindow

MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
于 2020-10-09T15:27:58.163 回答
1

是的,在 Qt Creator 或 Qt Designer 中创建用户界面文件 mainwindow.ui 后,您可以将其转换为 Qt for Python (PySide2):

pyside2-uic -x mainwindow.ui -o desktop.py

如果我们使用 PyQt5 包,我们运行 pyuic5 进行转换。如果我们使用 PySide2 包,我们运行 pyside2-uic 进行转换。

您也可以简单地使用 QUiLoader 和 QFile 加载 ui 文件。然后使用 findChild 方法提取您需要的小部件对象。

于 2019-02-11T22:12:58.283 回答
1

Sods law..我花了几天时间研究并在发布后几分钟找到了答案。诀窍是在使用 pyside2-uic 时使用 -x 参数,这将输出渲染 UI 所需的额外代码。

于 2017-10-23T23:07:31.833 回答
-1

我曾经pyside2-uic.py. 添加这对我有用。 来自:https ://doc.qt.io/qtforpython/tutorials/basictutorial/uifiles.html.ui

class MainWindow(QMainWindow):
def __init__(self):
    super(MainWindow, self).__init__()
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)

window = MainWindow()
window.show()
于 2021-08-05T17:54:02.960 回答