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
Farbauswahl in Combobox
Farbauswahl in Combobox
>>[-]>[-]>[-]>[-]<<<<<[->>+<-[>>>]>[[<+>-]>+>>]<<<<<]
-
- Beiträge: 40
- Registriert: 4. Oktober 2004 16:26
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
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
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
wenn Du auf das signal activated(int index) regieren willst, kannst Du mit jedem Index eine Farbe verbinden (z.B. Liste mit QColor)
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
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
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
sorry, es muss heissen :
Code: Alles auswählen
... ->setPaletteBackgroundColor( ... )