PyQt - Widget QToolBar

UN QToolBar widget es un panel móvil que consta de botones de texto, botones con iconos u otros widgets.

Suele estar situado en una barra horizontal debajo de la barra de menú, aunque puede ser flotante. Algunos métodos útiles de la clase QToolBar son los siguientes:

No Señor. Métodos y descripción
1

addAction()

Agrega botones de herramientas con texto o ícono

2

addSeperator()

Muestra botones de herramientas en grupos

3

addWidget()

Agrega controles distintos al botón en la barra de herramientas

4

addToolBar()

El método de clase QMainWindow agrega una nueva barra de herramientas

5

setMovable()

La barra de herramientas se vuelve móvil

6

setOrientation()

La orientación de la barra de herramientas se establece en Qt.Horizontal o Qt.vertical

Siempre que se hace clic en un botón de la barra de herramientas, se emite la señal ActionTriggered (). Además, envía una referencia al objeto QAction asociado con el evento a la función conectada.

Se agrega una barra de herramientas Archivo en el área de la barra de herramientas llamando al método addToolBar ().

tb = self.addToolBar("File")

Aunque se pueden agregar botones de herramientas con leyendas de texto, una barra de herramientas generalmente contiene botones gráficos. Se agrega un objeto QAction con un icono y un nombre a la barra de herramientas.

new = QAction(QIcon("new.bmp"),"new",self)
tb.addAction(new)

Del mismo modo, se agregan botones para abrir y guardar.

Finalmente, la señal actionTriggered () está conectada a una función de ranura toolbtnpressed ()

tb.actionTriggered[QAction].connect(self.toolbtnpressed)

El código completo para ejecutar el ejemplo es el siguiente:

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

El código anterior produce la siguiente salida: