如何在Qt Designer中通过按钮实现界面切换
时间: 2024-03-24 19:12:26 浏览: 148
在Qt Designer中实现界面切换,可以通过以下步骤:
1. 在Qt Designer中设计两个或多个需要切换的界面,每个界面作为一个QWidget。
2. 在第一个界面中添加一个QPushButton,并在其clicked信号上连接一个槽函数。
3. 在槽函数中使用QStackedWidget控件来实现界面切换。QStackedWidget控件可以在运行时动态地添加和删除QWidget,而且只会显示当前活动的QWidget。
4. 在槽函数中,使用setCurrentIndex()函数设置QStackedWidget控件当前显示的QWidget索引号,以实现界面切换。
以下是一个示例代码,其中有两个QWidget界面,分别命名为page1和page2,通过一个QPushButton实现从page1切换到page2:
```python
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow, QApplication, QStackedWidget
from ui_page1 import Ui_Page1
from ui_page2 import Ui_Page2
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# create QStackedWidget and add the pages
self.stackedWidget = QStackedWidget()
self.page1 = Ui_Page1()
self.page2 = Ui_Page2()
self.stackedWidget.addWidget(self.page1)
self.stackedWidget.addWidget(self.page2)
# set the central widget to the stacked widget
self.setCentralWidget(self.stackedWidget)
# connect button clicked signal to slot function
self.page1.pushButton.clicked.connect(self.switchPage)
@pyqtSlot()
def switchPage(self):
# switch to page2
self.stackedWidget.setCurrentIndex(1)
```
注意,在此示例中,使用了两个单独的UI文件,分别为ui_page1.py和ui_page2.py,需要在代码中导入这些文件并将它们添加到QStackedWidget中。