Ho un QListView, in cui vengono visualizzati gli oggetti utilizzando un delegato personalizzato con verniciatura personalizzata. All'interno di ciascun articolo (ad esempio ogni riga di elenco) voglio essere in grado di mostrare un paio di "collegamenti ipertestuali" su cui l'utente può fare clic e che quindi chiamerebbero alcune funzioni.Elementi cliccabili o widget figlio all'interno del delegato personalizzato Dipinto
Ho già provato a controllare la documentazione ufficiale (ad esempio Model/View Programming) e un bel po 'di google, ma non sono riuscito a capire come ottenerlo.
ho due idee, ognuno con i propri problemi:
- ho potuto disegnare utilizzando widget figli, come un QPushButton piatta. Come posso quindi posizionare e visualizzare questi widget?
- Potrei anche disegnarli come stringhe di testo. Come faccio a renderli cliccabili? Oppure posso acquisire eventi click sul padre QListView e in qualche modo determinare le coordinate da quelli? Potrei quindi abbinare le coordinate a questi elementi cliccabili e agire di conseguenza.
Il mio approccio iniziale era utilizzare QListWidget con .setItemWidget(), dove avevo un widget adeguato con un layout e widget figlio. Sfortunatamente questo era troppo lento quando la mia lista crebbe a centinaia o migliaia di oggetti. Ecco perché sono passato a QListView con un delegato.