PyQt5 - QToolBar 小部件

  • 简述

    QToolBar小部件是由文本按钮、带有图标的按钮或其他小部件组成的可移动面板。
    它通常位于菜单栏下方的水平栏中,尽管它可以是浮动的。QToolBar 类的一些有用方法如下 -
    序号 方法和描述
    1
    addAction()
    添加具有文本或图标的工具按钮
    2
    addSeperator()
    成组显示工具按钮
    3
    addWidget()
    在工具栏中添加按钮以外的控件
    4
    addToolBar()
    QMainWindow 类方法增加了一个新的工具栏
    5
    setMovable()
    工具栏变成可移动的
    6
    setOrientation()
    工具栏的方向设置为 Qt.Horizo​​ntal 或 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()
    
  • 输出

    上面的代码产生以下输出 -
    QToolBar 小部件输出