Qt QTableView - Ausrichtung der Checkbox bei Verwendung von IsUserCheckable

8

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?

    
cweston 09.12.2010, 22:16
quelle

4 Antworten

3

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.

%Vor%

und

%Vor%

Siehe auch diese ähnliche Frage hier ...

    
cweston 13.12.2010, 20:23
quelle
2

Wahrscheinlich nicht die Antwort, die Sie suchen, aber ich fand es viel einfacher, meinen eigenen Checkbox-Element-Delegaten zu implementieren, wenn Sie qtableviews verwenden.

    
Chris 10.12.2010 03:51
quelle
2

TextAlignmentRole bedeutet wirklich, was es sagt. Leider, wie Sie wahrscheinlich bemerkt haben, scheint keine Icon / Widget Alignment Rolle verfügbar zu sein.

Fehlerbericht: Ссылка

Gleiche Frage mit einigen Antworten: Ссылка

    
OliJG 10.12.2010 03:53
quelle
1

Auch Sie können diesen Thread sehen: Ссылка

    
rovshanb 10.03.2011 13:57
quelle

Tags und Links