Domanda

Ho un QListView, in cui visualizzo oggetti utilizzando un delegato personalizzato con pittura personalizzata. All'interno di ogni elemento (cioè ogni riga dell'elenco) voglio essere in grado di mostrare un paio di "collegamenti ipertestuali" su cui l'utente potrebbe fare clic e che chiamerebbero alcune funzioni.

Ho già provato a controllare la documentazione ufficiale (ad esempio Programmazione Modello/Visualizza) così come un bel po 'di googling, ma non sono stato in grado di capire come raggiungere questo obiettivo.

Ho due idee, ognuna con i propri problemi:

  • Potrei disegnarli usando i widget per bambini, come un qpushbutton piatto. Come posso quindi posizionare e visualizzare questi widget?
  • Potrei anche disegnarli come stringhe di testo. Come faccio a renderli cliccabili? Oppure posso acquisire eventi clic su QLISTVIEW e determinare in qualche modo le coordinate da quelle? Potrei quindi abbinare le coordinate a questi elementi cliccabili e agire di conseguenza.

Il mio approccio iniziale era quello di utilizzare QListWidget con .setItemWidget (), dove avevo un widget adeguato con un layout e widget di minori. Sfortunatamente questo è stato troppo lento quando la mia lista è cresciuta a centinaia o migliaia di articoli. Ecco perché sono cambiato in QListView con un delegato.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top