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)
执行该示例的完整代码如下:
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()
输出
上述代码产生以下输出 –