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()

上面的代码产生以下输出 −

QToolBar Widgets Output