PyQt 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 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()
上述代码产生了以下输出 —