PyQt工具栏
在 PyQt 中创建工具栏主要涉及 QMainWindow、QToolBar 和 QAction 类
界面展示
基本示例
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建工具栏
toolbar = self.addToolBar('主工具栏')
# 创建动作(带图标和文本)
new_action = QAction(QIcon('new.png'), '新建', self)
new_action.setShortcut('Ctrl+N')
new_action.triggered.connect(self.newFile)
open_action = QAction(QIcon('open.png'), '打开', self)
open_action.triggered.connect(self.openFile)
# 将动作添加到工具栏
toolbar.addAction(new_action)
toolbar.addAction(open_action)
# 基础窗口设置
self.setWindowTitle('工具栏示例')
self.setGeometry(300, 300, 400, 200)
self.show()
def newFile(self):
print("新建文件操作被触发")
def openFile(self):
print("打开文件操作被触发")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())
工具栏的设置
对于其他位置(底部、左侧、右侧),则需要使用 self.addToolBar(area, toolbar) 形式的方法调用,其中 area 是 Qt.BottomToolBarArea, Qt.LeftToolBarArea, 或 Qt.RightToolBarArea 等预定义的区域常量。
# 创建并配置顶部工具栏
toolbar_top = QToolBar("顶部工具栏")
toolbar_top.addAction(exitAction)
self.addToolBar(toolbar_top)
# 创建并配置底部工具栏
toolbar_bottom = QToolBar("底部工具栏")
toolbar_bottom.addAction(exitAction)
self.addToolBar(Qt.BottomToolBarArea, toolbar_bottom)
# 创建并配置左侧工具栏
toolbar_left = QToolBar("左侧工具栏")
toolbar_left.addAction(exitAction)
self.addToolBar(Qt.LeftToolBarArea, toolbar_left)
# 创建并配置右侧工具栏
toolbar_right = QToolBar("右侧工具栏")
toolbar_right.addAction(exitAction)
self.addToolBar(Qt.RightToolBarArea, toolbar_right)