Seite 1 von 1

Farbauswahl in Combobox

Verfasst: 11. Januar 2005 12:21
von pm_Snake
Hallo!

Ich möchte eine Farbauswahl-Combobox erstellen, in welcher es Möglich ist Farben zu wählen. Dabei soll es nicht über Text gewählt werden, sondern als Elemente der Combo soll man farbige Balken sehen können.

Ich könnte zum Bleistift Pixmaps oder so in die Combobox stecken, aber was passiert dann wenn der Layoutmanager die Combobox vergrössert ( Benutzer zieht Fenster grösser ) ?
Da müsste ich ja praktisch für jede Grösse ein Pixmap haben, was unmöglich ist.

Hat einer von euch bereits ne solche Klasse und kann mir paar Tips geben? Weil ich kann mir das nun absolut nicht vorstellen, so ne Combo wär aber absolut schick :)

Danke im vorraus!

greets,
pm_Snake

Verfasst: 11. Januar 2005 13:01
von Spring-Daniel
http://webcvs.kde.org/kdelibs/kdeui/kco ... &view=auto
http://webcvs.kde.org/kdelibs/kdeui/kco ... &view=auto

Die einzige KDE-Abhaengigkeit, die ich da jetzt so beim kurzen ueberfliegen finden kann, ist KColorDialog, die sich aber sehr einfach mit QColorDialog ersetzen laesst.

Viel Spass damit,
Daniel

Verfasst: 14. Januar 2005 19:08
von ArneStocker
wenn Du auf das signal activated(int index) regieren willst, kannst Du mit jedem Index eine Farbe verbinden (z.B. Liste mit QColor)

Code: Alles auswählen


typedef QValueList <QColor> FarbListe;

class ...
{
	FarbListe m_farbliste;        // Werte im Konstruktor setzen

	...

	protected slot : 
	
	void OnComboActivate(int index);
}

void OnComboActivate(int index)
{	
	ASSERT(index < m_farbliste.count());
	ComboBoxName->setBackgroundColor(m_farbliste[index]);
}


das sollte genügen. Natürlich musst Du die Farbliste im Konstruktor Deiner Fensterklasse noch gesondert setzen und den slot OnComboActivate mit der ComboBox 'ComboBoxName' verbinden

Verfasst: 14. Januar 2005 19:40
von ArneStocker
sorry, es muss heissen :

Code: Alles auswählen

 ... ->setPaletteBackgroundColor( ... )