python使用QtWidgets做一个左侧导航,清给出代码
时间: 2024-10-08 15:15:45 浏览: 31
在Python中使用QtWidgets库创建一个左侧导航栏通常涉及到`QMainWindow`, `QWidget`子类, `QVBoxLayout`, `QMenuBar`, `QMenu`, `QPushButton`等组件。这里是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QMenuBar, QAction, QLabel
class Sidebar(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('左侧导航')
layout = QVBoxLayout()
self.nav_items = ['文件', '编辑', '查看']
for item in self.nav_items:
button = QPushButton(item)
layout.addWidget(button)
self.setLayout(layout)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建主窗口
self.setWindowTitle('带有左侧导航的主窗口')
self.setGeometry(100, 100, 800, 600)
# 创建左侧导航栏
self.sidebar = Sidebar()
self.setCentralWidget(self.sidebar)
# 创建菜单栏
menu_bar = QMenuBar(self)
file_menu = menu_bar.addMenu('文件')
edit_menu = menu_bar.addMenu('编辑')
# 添加一些动作到菜单
open_action = QAction('打开', self)
save_action = QAction('保存', self)
file_menu.addAction(open_action)
file_menu.addAction(save_action)
self.setMenuBar(menu_bar)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
这个例子中,我们首先创建了一个包含按钮的`Sidebar`窗口作为左侧导航,然后在`MainWindow`中设置了这个导航并添加了`QMenuBar`菜单栏。你可以根据需要修改菜单项和按钮内容。
阅读全文