Python qt 一个类里调用多个ui文件
时间: 2023-07-16 14:16:26 浏览: 198
你可以使用 QStackedWidget 控件来实现在一个类中调用多个 UI 文件。QStackedWidget 控件可以将多个 QWidget 对象叠加在同一个窗口上,然后使用 setCurrentIndex() 方法来切换不同的 QWidget 对象。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QStackedWidget, QPushButton
from PyQt5 import uic
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 加载第一个 UI 文件
self.ui1 = uic.loadUi("ui_file1.ui")
# 加载第二个 UI 文件
self.ui2 = uic.loadUi("ui_file2.ui")
# 创建 QStackedWidget 控件并添加两个 QWidget 对象
self.stack = QStackedWidget(self)
self.stack.addWidget(self.ui1)
self.stack.addWidget(self.ui2)
# 创建一个按钮来切换 QWidget 对象
self.button = QPushButton("Switch UI", self)
self.button.clicked.connect(self.switch_ui)
def switch_ui(self):
# 切换到另一个 QWidget 对象
self.stack.setCurrentIndex((self.stack.currentIndex() + 1) % 2)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们首先加载两个不同的 UI 文件,然后创建了一个 QStackedWidget 控件,并将两个 QWidget 对象添加到 QStackedWidget 控件中。然后,我们创建了一个按钮,当用户点击按钮时,使用 setCurrentIndex() 方法来切换 QWidget 对象。
阅读全文