【发布时间】:2019-08-10 00:26:32
【问题描述】:
我有一个在 python3.6 下运行并使用 PyQt5 加载 Ui 窗口的 python 应用程序。这些窗口是用 Qt Designer 5.9.4 创建的。下面的代码显示了一个使用 PyQt5 的工作示例。
现在我想拥有完全相同的功能,但使用 PySide2。目前,我不知道如何加载一个 Ui 文件并在一个单独的类中使用它的对象(按钮、表格等)。例如:通过单击第一个窗口/类中的按钮,会出现第二个窗口,其中功能在单独的类中定义,请参见示例。我发现的所有示例都只加载了一个 Ui-Window,但没有显示如何使用它。有人可以帮忙吗?
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.uic import loadUiType
from PyQt5 import QtGui, QtCore
Ui_FirstWindow, QFirstWindow = loadUiType('first_window.ui')
Ui_SecondWindow, QSecondWindow = loadUiType('second_window.ui')
class First(Ui_FirstWindow, QFirstWindow):
def __init__(self):
super(First, self).__init__()
self.setupUi(self)
self.button.clicked.connect(self.show_second_window)
def show_second_window(self):
self.Second = Second()
self.Second.show()
class Second(Ui_SecondWindow, QSecondWindow):
def __init__(self):
super(Second, self).__init__()
self.setupUi(self)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
main = First()
main.show()
sys.exit(app.exec_())
【问题讨论】:
-
不,我需要的是一个基于 PySide2 的代码示例。
-
PySide 似乎没有 loadUiType 函数,但您可以试试这个:stackoverflow.com/a/14195313/154762 或查看该问题中的其他答案以获取替代方案。
标签: python pyqt5 qt-designer pyside2