PyQt QToolBar小部件
A QToolBar widget是一个可移动的面板,由文本按钮、带有图标的按钮或其他小部件组成。
它通常位于菜单栏下面的水平栏中,尽管它也可以浮动。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 PyQt4.QtCore import *
from PyQt4.QtGui 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()
以上代码生成以下输出: