mercoledì 5 ottobre 2011

QPushButton & QAction

Con rammarico e stupore ho scoperto che in Qt i pulsanti QPushButton non possono essere collegati a delle azioni QAction. La cosa è abbastanza strana perche' grosso modo in ogni toolkit grafico che conosco i pulsanti sono configurabili tramite delle azioni. Ovviare al problema non è particolarmente complesso:
  • si definisce una estensione di QPushButton
  • si implementa un metodo per associare al pulsante l'azione e si configura il pulsante di conseguenza
  • si collega ogni evento di modifica dell'azione all'aggiornamento del pulsante
  • si collega l'evento di click del pulsante al trigger dell'azione.
Il codice completo del pulsante, che ho chiamato ActionButton lo si può trovare nel wiki ufficiale Qt.

Nessun commento: