ausgewählten Eintrag in QCombobox farblich markieren

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Karsten Böhme
User
Beiträge: 86
Registriert: Sonntag 23. Dezember 2012, 07:54

Hallo zusammen,

habe wieder einmal ein Problemchen wo ich nicht weiterkomme. Habe eine Combobox mit drei Einträgen. Möchte bei zwei der Einträge bei deren Auswahl die Schriftfarbe im 'immer sichtbaren' Teil einfärben. Die einzelnen Einträge in der Liste mit einer anderen Schriftfarbe zu versehen, ist kein Problem. Wie aber ändere ich bei der angezeigten Auswahl die Farbe, ohne dabei auch die Farbe der Liste komplett zu ändern.

Im Moment sieht das auszugsweise so aus :

Code: Alles auswählen

    # init ... Textfarbe der gewünschten Einträge in der Liste setzen 
    self.cbx_view.setItemData(1, QColor('red'), Qt.TextColorRole)
    self.cbx_view.setItemData(2, QColor('red'), Qt.TextColorRole)

    def _on_cbx_view_index_changed(self, index: int):
        if index == 0:
            # show active events
            self.cbx_view.setStyleSheet("")
            .
            .
	    .
        elif index == 1:
            # show deactivated events
            self.cbx_view.setStyleSheet("QLineEdit{color: red}")   ???
            .
            .
            .
        elif index == 2:
            # show all events
            self.cbx_view.setStyleSheet("QLineEdit{color: red}")   ???
            .
            .
            .
Mit den Einträgen in "_on_cbx_view_index_changed" eirreiche ich aber nichts. Mit

Code: Alles auswählen

self.cbx_view.setStyleSheet("color: rgb(255,0,0)")
erreiche ich nur, dass dann die Schriftfarbe grundsätzlich rot ist.

Hat jemand ne Idee ?
Danke !
Antworten