qt如何在一个窗口中点击pushbutton跳转到立一个窗口
时间: 2024-03-11 08:51:48 浏览: 142
Qt博客的窗口跳转代码
在Qt中,可以使用QStackedWidget和QPushButton来实现在一个窗口中点击PushButton跳转到另一个窗口的功能。具体步骤如下:
1. 在Qt Designer中创建两个QWidget,分别对应源窗口和目标窗口。
2. 在源窗口中添加一个QPushButton控件,并为它添加一个点击事件处理程序。
3. 在点击事件处理程序中,切换到目标窗口并显示它。
4. 在目标窗口中添加一个QPushButton控件,并为它添加一个点击事件处理程序。
5. 在点击事件处理程序中,切换回源窗口并显示它。
下面是一个简单的示例代码,演示了如何在一个窗口中实现点击PushButton跳转到另一个窗口:
```python
# 导入相关的模块
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout, QStackedWidget
# 创建源窗口对象
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 创建一个垂直布局
layout = QVBoxLayout(self)
# 创建一个QStackedWidget控件,并添加源窗口和目标窗口
self.stackedWidget = QStackedWidget(self)
self.sourceWidget = QWidget()
self.targetWidget = QWidget()
self.stackedWidget.addWidget(self.sourceWidget)
self.stackedWidget.addWidget(self.targetWidget)
# 在源窗口中添加一个PushButton控件,并为它添加一个点击事件处理程序
self.button = QPushButton("跳转到另一个窗口", self.sourceWidget)
self.button.clicked.connect(self.showTargetWindow)
# 在目标窗口中添加一个PushButton控件,并为它添加一个点击事件处理程序
self.targetButton = QPushButton("返回上一个窗口", self.targetWidget)
self.targetButton.clicked.connect(self.showSourceWindow)
# 在源窗口和目标窗口中添加一个Label控件,用于显示消息
self.sourceLabel = QLabel(self.sourceWidget)
self.sourceLabel.setGeometry(50, 50, 200, 30)
self.sourceLabel.setText("这是源窗口!")
self.targetLabel = QLabel(self.targetWidget)
self.targetLabel.setGeometry(50, 50, 200, 30)
self.targetLabel.setText("这是目标窗口!")
# 将QStackedWidget控件添加到垂直布局中,并显示源窗口
layout.addWidget(self.stackedWidget)
self.show()
# 点击事件处理程序:切换到目标窗口并显示它
def showTargetWindow(self):
self.stackedWidget.setCurrentIndex(1)
# 点击事件处理程序:切换回源窗口并显示它
def showSourceWindow(self):
self.stackedWidget.setCurrentIndex(0)
# 创建应用程序对象,并显示源窗口
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
```
在这个示例代码中,我们创建了一个MainWindow类,用于展示源窗口和目标窗口。在源窗口中,我们创建了一个QStackedWidget控件,并将源窗口和目标窗口添加到其中。在源窗口中,我们添加了一个QPushButton控件,并为它添加了一个点击事件处理程序(showTargetWindow()方法)。在这个方法中,我们切换到目标窗口并显示它。在目标窗口中,我们添加了一个QPushButton控件,并为它添加了一个点击事件处理程序(showSourceWindow()方法)。在这个方法中,我们切换回源窗口并显示它。最后,我们将QStackedWidget控件添加到垂直布局中,并显示源窗口。
阅读全文