PyQt - Widget QToolBar

UNE QToolBar widget est un panneau mobile composé de boutons de texte, de boutons avec des icônes ou d'autres widgets.

Il est généralement situé dans une barre horizontale sous la barre de menu, bien qu'il puisse être flottant. Voici quelques méthodes utiles de la classe QToolBar:

Sr.No. Méthodes et description
1

addAction()

Ajoute des boutons d'outils contenant du texte ou une icône

2

addSeperator()

Affiche les boutons d'outils en groupes

3

addWidget()

Ajoute des contrôles autres que le bouton dans la barre d'outils

4

addToolBar()

La méthode de classe QMainWindow ajoute une nouvelle barre d'outils

5

setMovable()

La barre d'outils devient mobile

6

setOrientation()

L'orientation de la barre d'outils est définie sur Qt.horizontal ou Qt.vertical

Chaque fois qu'un bouton de la barre d'outils est cliqué, le signal ActionTriggered () est émis. De plus, il envoie une référence à l'objet QAction associé à l'événement à la fonction connectée.

Une barre d'outils Fichier est ajoutée dans la zone de la barre d'outils en appelant la méthode addToolBar ().

tb = self.addToolBar("File")

Bien que des boutons d'outils avec des légendes de texte puissent être ajoutés, une barre d'outils contient généralement des boutons graphiques. Un objet QAction avec une icône et un nom est ajouté à la barre d'outils.

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

De même, des boutons d'ouverture et de sauvegarde sont ajoutés.

Enfin, le signal actionTriggered () est connecté à une fonction de slot toolbtnpressed ()

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

Le code complet pour exécuter l'exemple est le suivant -

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

Le code ci-dessus produit la sortie suivante -