QTreeWidgetItem disablen, jedoch nicht die Childs

Alles rund um die Programmierung mit Qt
Antworten
Scary Hallo

QTreeWidgetItem disablen, jedoch nicht die Childs

Beitrag von Scary Hallo »

Hallo,

ich habe ein QTreeWidget. In diesem will ich einzelne Items disablen. Dies hat zur Folge, dass bei einem disabelten Item alle Childs auch disabled sind. Das macht ja auch Sinn. In meiner Applikation brauche ich aber ein anderes Verhalten. Ich brauche bei einem disabelten Parent ggf. ein enabelts Child.
Ist das irgendwie möglich? Ich habe schon versucht das Child nachträglich mit dem 'ItemIsEnabled' zu versehen. Aber das wird nicht angenommen.

Kann mir irgendjemand weiter helfen?
Scary Hallo

Re: QTreeWidgetItem disablen, jedoch nicht die Childs

Beitrag von Scary Hallo »

Niemand?
Hulk2442
Beiträge: 115
Registriert: 10. Januar 2007 13:44

Re: QTreeWidgetItem disablen, jedoch nicht die Childs

Beitrag von Hulk2442 »

Hi
Das was du vorhast wird automatisch von Qt aus nicht funktionieren.
Wie du selbst schreibst, die Funktionalität welche derzeit implementiert ist, ist eigentlich richtig.
Was du jedoch machen kannst ist dass du die Items selber disabelst.
Also nicht einfach „setDisabled“ aufrufen sondern nur die visuelle Ausgabe dem entsprechend ändern und den „disable“ Zustand selbst verwalten.

Am einfachsten erreichst du das indem du eine Klasse schreibst welche sich vom „QTreeWidgetItem“ ableitet und du dort die Methode

Code: Alles auswählen

void setDisabled ( bool disabled )
überschreibst.
Scary Hallo

Re: QTreeWidgetItem disablen, jedoch nicht die Childs

Beitrag von Scary Hallo »

Das hatte ich befürchtet. Das macht den Code aber nicht schöner.

Danke für die Antwort
Antworten