View Full Version : [C++ / Qt ] QListWidgetItem subclassing
Teo@Unix
16-04-2010, 11:55
Ciao,
ho necessità di fare sublclassing dell'oggetto in oggetto ....:)
praticamente vorrei inserire delle tendine che si aprono al click destro del mouse. Le tendine avranno all'interno due o tre voci collegate ad azioni.
Per queste azione credo di dove usare QAction ecc...
Per la creazione di queste tendine mi conviene un Widget o esiste già qualcosa di predisposto?
Insomma a livello generale come mi consigliate di procedere? Thank you
Teo@Unix
16-04-2010, 14:44
... praticamente non so come realizzare una tendina che esce dove avviene il click del mouse e inserirgli i menù....
theking0
16-04-2010, 14:53
non capisco bene cosa vuoi fare.
In pratica vorresti creare un Context menu (http://en.wikipedia.org/wiki/Context_menu) ?
Teo@Unix
16-04-2010, 15:13
esatto, era la parola che mi mancava.:)
theking0
16-04-2010, 15:29
prova a vedere questo esempio (http://doc.trolltech.com/4.3/mainwindows-menus.html).
dovrebbe fare a caso tuo
Teo@Unix
16-04-2010, 20:44
grazie per l'esempio,
ma se non mi sbaglio mostra come realizzare un menù bar.
Io avrei necessità di far apparire una tendina facedno click su un QListWidgetItem. Guardando tra i membri non ho trovato un metodo per aggiungere un'azione come c'è per l'oggetto menù. quindi mi chiedo come sia possibile farlo.
tomminno
17-04-2010, 00:04
grazie per l'esempio,
ma se non mi sbaglio mostra come realizzare un menù bar.
Si ma un menù contestuale non è poi molto differente dalla menu bar :)
Io avrei necessità di far apparire una tendina facedno click su un QListWidgetItem. Guardando tra i membri non ho trovato un metodo per aggiungere un'azione come c'è per l'oggetto menù. quindi mi chiedo come sia possibile farlo.
Hai 2 alternative:
Derivare da QListWidget e ridefinire il metodo protetto contextMenuEvent oppure usare il metodo setContextMenuPolicy passando Qt::ActionsContextMenu.
Nel primo caso hai massima libertà d'azione nel secondo caso verranno mostrati automaticamente tutti i QAction aggiunti alla lista tramite addAction, però non puoi personalizzare il menu in base a dove clicchi contrariamente al primo caso.
theking0
17-04-2010, 07:57
grazie per l'esempio,
ma se non mi sbaglio mostra come realizzare un menù bar.
Io avrei necessità di far apparire una tendina facedno click su un QListWidgetItem. Guardando tra i membri non ho trovato un metodo per aggiungere un'azione come c'è per l'oggetto menù. quindi mi chiedo come sia possibile farlo.
se guardi bene l'esempio spiega anche come creare un context menu.
Teo@Unix
17-04-2010, 11:39
se guardi bene l'esempio spiega anche come creare un context menu.
hai ragione:doh:
quindi se ho capito bene devo ridefinire contextMenuEvent di ListWidget non di ListWidgetItem che tra l'altro credo non ci sia...
una volta fatto dovrei fare in modo che su uno piuttosto che un'altro QListWidgetItem possa essere aperto il menù suddetto... quindi devo controllare l'item in questione.... mm
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.