pyqt5 QComboBox()制作下拉菜单,点击下拉菜单中的按钮,跳转到另一个界面
时间: 2024-03-04 10:48:41 浏览: 156
您可以在 QComboBox 的 activated 信号中连接一个槽函数,该槽函数负责处理下拉菜单项的点击事件。在该槽函数中,您可以使用 Qt 的导航功能(如 QStackedWidget)来实现跳转到另一个界面。
以下是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox, QWidget, QHBoxLayout, QLabel, QStackedWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个下拉菜单
self.combo_box = QComboBox(self)
self.combo_box.addItem('界面1')
self.combo_box.addItem('界面2')
self.combo_box.activated.connect(self.on_combo_box_activated)
# 创建一个堆叠窗口
self.stacked_widget = QStackedWidget(self)
self.setCentralWidget(self.stacked_widget)
# 添加两个界面
self.widget1 = QWidget()
layout1 = QHBoxLayout()
layout1.addWidget(QLabel('这是界面1'))
self.widget1.setLayout(layout1)
self.stacked_widget.addWidget(self.widget1)
self.widget2 = QWidget()
layout2 = QHBoxLayout()
layout2.addWidget(QLabel('这是界面2'))
self.widget2.setLayout(layout2)
self.stacked_widget.addWidget(self.widget2)
def on_combo_box_activated(self, index):
# 根据下拉菜单项的索引跳转到对应的界面
self.stacked_widget.setCurrentIndex(index)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
运行该程序,您将看到一个下拉菜单和一个堆叠窗口,单击下拉菜单中的项将切换到不同的界面。
阅读全文