PyQt5 - QToolBar 小部件
QToolBar 小部件是由文本按钮、带有图标的按钮或其他小部件组成的可移动面板。
它通常位于菜单栏下方的水平栏中,尽管它可以是浮动的。 QToolBar 类的一些有用的方法如下 −
序号 | 方法 & 说明 |
---|---|
1 |
addAction() 添加具有文本或图标的工具按钮 |
2 |
addSeperator() 成组显示工具按钮 |
3 |
addWidget() 在工具栏中添加按钮以外的控件 |
4 |
addToolBar() QMainWindow 类方法增加了一个新的工具栏 |
5 |
setMovable() 工具栏变成可移动的 |
6 |
setOrientation() 工具栏的方向设置为 Qt.Horizontal 或 Qt.vertical |
每当单击工具栏上的按钮时,都会发出 ActionTriggered() 信号。 此外,它将与事件关联的 QAction 对象的引用发送到连接的函数。
通过调用 addToolBar() 方法在工具栏区域添加一个文件工具栏。
tb = self.addToolBar("File")
虽然可以添加带有文本标题的工具按钮,但工具栏通常包含图形按钮。 带有图标和名称的 QAction 对象被添加到工具栏中。
new = QAction(QIcon("new.bmp"),"new",self) tb.addAction(new)
同样,添加了打开和保存按钮。
最后,actionTriggered() 信号连接到一个槽函数 toolbtnpressed()
tb.actionTriggered[QAction].connect(self.toolbtnpressed)
The complete code to execute the example is as follows −
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class tooldemo(QMainWindow): def __init__(self, parent = None): super(tooldemo, self).__init__(parent) layout = QVBoxLayout() tb = self.addToolBar("File") new = QAction(QIcon("new.bmp"),"new",self) tb.addAction(new) open = QAction(QIcon("open.bmp"),"open",self) tb.addAction(open) save = QAction(QIcon("save.bmp"),"save",self) tb.addAction(save) tb.actionTriggered[QAction].connect(self.toolbtnpressed) self.setLayout(layout) self.setWindowTitle("toolbar demo") def toolbtnpressed(self,a): print "pressed tool button is",a.text() def main(): app = QApplication(sys.argv) ex = tooldemo() ex.show() sys.exit(app.exec_()) if __name__ == '__main__': main()
Output
上面的代码产生以下输出 −