python写一个桌面应用,打开窗口,左侧有10个按钮,每个按钮独立控制切换内容,右侧显示控制切换后的内容
时间: 2023-12-14 18:05:11 浏览: 58
左侧菜单栏控制右侧页面内容切换
3星 · 编辑精心推荐
好的,以下是一个简单的Python桌面应用程序,包含一个窗口,左侧有10个按钮,每个按钮独立控制切换内容,右侧显示控制切换后的内容。
首先,需要安装PyQt5库,可以使用以下命令进行安装:
```
pip install PyQt5
```
接下来是代码实现:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget, QHBoxLayout, QVBoxLayout, QLabel
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("切换内容")
self.setGeometry(100, 100, 800, 600)
# 创建主窗口部件
main_widget = QWidget(self)
# 创建水平布局
h_layout = QHBoxLayout()
# 创建左侧部件
left_widget = QWidget(self)
v_layout = QVBoxLayout()
# 创建10个按钮
for i in range(10):
button = QPushButton("按钮%s" % (i+1))
button.clicked.connect(lambda state, x=i: self.change_content(x+1))
v_layout.addWidget(button)
left_widget.setLayout(v_layout)
h_layout.addWidget(left_widget)
# 创建右侧部件
self.right_widget = QWidget(self)
self.right_layout = QVBoxLayout()
self.right_widget.setLayout(self.right_layout)
h_layout.addWidget(self.right_widget)
main_widget.setLayout(h_layout)
self.setCentralWidget(main_widget)
# 切换内容
def change_content(self, index):
self.right_layout.removeAllWidgets()
label = QLabel("这是第%s个按钮的内容" % index)
self.right_layout.addWidget(label)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
```
这个代码实现了一个简单的窗口应用程序,包含一个主窗口部件、一个水平布局、一个左侧部件和一个右侧部件。
左侧部件包含10个按钮,每个按钮对应一个编号,点击按钮后会调用`change_content()`方法切换右侧部件的内容,右侧部件显示被点击按钮对应的内容。
右侧部件使用一个垂直布局,通过`removeAllWidgets()`方法清空原有的内容,然后创建一个新的`QLabel`控件,并添加到布局中。
希望这个例子能对您有所帮助!
阅读全文