Tabellen Farben einstellen

Alles rund um die Programmierung mit Qt
Antworten
grisu1972
Beiträge: 66
Registriert: 9. November 2007 16:08

Tabellen Farben einstellen

Beitrag 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
ObeliX
Beiträge: 59
Registriert: 14. November 2007 17:47

Beitrag 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
grisu1972
Beiträge: 66
Registriert: 9. November 2007 16:08

Beitrag 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
ObeliX
Beiträge: 59
Registriert: 14. November 2007 17:47

Beitrag 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
grisu1972
Beiträge: 66
Registriert: 9. November 2007 16:08

Beitrag von grisu1972 »

Danke, hat geklappt!

Grüsse Carsten
Antworten