Ich verwende QTableViews Kontrollkästchen-Flag von Qt :: ItemIsUserCheckable , um ein Kontrollkästchen in einer Tabellenzelle anzuzeigen.
Nachdem ich einige Dinge zur Ausrichtung gelesen habe, um das Kontrollkästchen in der Zelle zu zentrieren, gebe ich das Qt :: AlignCenter als TextAlignmentRole von der Funktion models data () zurück.
%Vor%Dadurch wird mein Kontrollkästchen jedoch nicht ausgerichtet.
Weiß jemand, wie man Checkboxen ausrichtet, ist dieser Modus?
Nach eingehender Untersuchung der Delegiertenoptionen habe ich eine nette Referenz gefunden (leider nicht mehr verfügbar) und habe mit QItemDelegate und IsUserCheckable den folgenden Hybrid gefunden.
Im Wesentlichen müssen Sie QItemDelegate erweitern und neu implementieren, indem Sie die Funktion drawCheck zum Zentrieren verwenden und das editorEvent
zum Behandeln von Maus- und Tastaturereignissen verwenden, während Sie das Modell mit dem entsprechenden Status festlegen.
und
%Vor%Siehe auch diese ähnliche Frage hier ...