平时我们看到软件上的工具栏有各种图标,有很多种功能,今天我们来实现一个简单的效果如下图
这里主要使用的是界面自带的 addToolBar
源码和解释如下:
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QHBoxLayout, QMainWindow, QAction, QApplication, QLabel, QWidget
class MenuDemo(QMainWindow):
def __init__(self,parent=None):
super(MenuDemo, self).__init__(parent)
self.resize(300, 200)
layout = QHBoxLayout()
self.widget = QWidget()
self.text = QLabel(self.widget)
self.text.setText("测试")
self.setCentralWidget(self.widget)
layout.addWidget(self.text)
# 为本窗口添加一个toolbar的状态
tb = self.addToolBar("File")
# 添加打开tool 在pyqt5里面是一个action
new = QAction(QIcon("../images/new.png"), "new", self)
tb.addAction(new)
# 添加第二个action 参数分别是 图片, 名字(可以理解给这个action起个名字),上下文
open = QAction(QIcon("../images/open.png"), "open", self)
tb.addAction(open)
save = QAction(QIcon("../images/save.png"), "save", self)
tb.addAction(save)
# ation一般是用这个作为绑定的点击事件 注意方括号里面的QAction
tb.actionTriggered[QAction].connect(self.toolbtnpressed)
self.setLayout(layout)
def toolbtnpressed(self, a):
print("pressed tool button is ", a.text())
self.text.setText(a.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = MenuDemo()
demo.show()
sys.exit(app.exec_())