Seite 1 von 1

Tabellen Farben einstellen

Verfasst: 4. Februar 2008 12:28
von grisu1972
Hallo Leute,

folgendes Problem plagt mich:
Ich habe eine Tabelle QTableWidget und darin einige Spalten und Zeilen eingetragen. Einige Felder sollen nicht editierbar sein. Diese setze ich mittels der Flags. Was mir nicht gefällt ist, das eine andere Farbe für diese nicht editierbaren Zellen verwendet wird. Ich möchte das editierbare und nicht editierbare die gleiche Farbe benutzen, dazu möchte ich aber einfach Hintergrundfarbe hart auf eine Farbe setzen sondern beibehalten, dass jede zweite grau bleibt, wie es standart ist wenn alle Felder editierbar sind!

Gibt es eine Lösung?

grüsse Carsten

Verfasst: 4. Februar 2008 14:07
von ObeliX
hi,

ich habe oftmals ein ähnliches problem. ich sperre controls fürs editieren, indem ich sie disabled setze. dabei werden sie natürlich ausgegraut und sind so schwer zu lesen. lesbar sollen sie aber weiterhin sein. auch ich will aber keine extra farben setzen, weil das dann auf jedem rechner der nicht mein farbschema hat bescheiden aussieht. deshalb kopiere ich das aktiv-farbschema in das disabled-farbschema. vielleicht hilft dir das ja auch bei deiner tabelle.

Code: Alles auswählen

QPalette qPal=CbBx_SelectedEntry->palette();
qPal.setColorGroup(QPalette::Disabled,
                               qPal.brush(QPalette::Active,QPalette::WindowText),
                               qPal.brush(QPalette::Active,QPalette::Button),
                               qPal.brush(QPalette::Active,QPalette::Light),
                               qPal.brush(QPalette::Active,QPalette::Dark),
                               qPal.brush(QPalette::Active,QPalette::Mid),
                               qPal.brush(QPalette::Active,QPalette::Text),
                               qPal.brush(QPalette::Active,QPalette::BrightText),
                               qPal.brush(QPalette::Active,QPalette::Base),
                               qPal.brush(QPalette::Active,QPalette::Window));
CbBx_SelectedEntry->setPalette(qPal);

Obel

Verfasst: 4. Februar 2008 17:12
von grisu1972
Hört sich gut an, werde es morgen ausprobieren. Ich muss das disabeld Farbschema mit dem enabeld überschreiben, so habe ich es verstanden.


Danke und Grüsse
Carsten

Verfasst: 4. Februar 2008 18:42
von ObeliX
ja. mußt in dem beispiel-code nur meinen ComboBox-pointer CbBx_SelectedEntry durch deine tabelle ersetzen.
is etwas viel schreiberei ... mit Qt3 ging das eleganter.


Obel

Verfasst: 5. Februar 2008 09:20
von grisu1972
Danke, hat geklappt!

Grüsse Carsten