[gelöst] Icon in QTableWidget(Qt::ItemIsEnabled) bunt darst.

Alles rund um die Programmierung mit Qt
Antworten
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

[gelöst] Icon in QTableWidget(Qt::ItemIsEnabled) bunt darst.

Beitrag von Neuling_ »

Hallo miteinander,

ich habe ein Problem bezüglich der Icon-Darstellung in einem QTableWidget.

Zu meinen Ansätzen ;)
Ich habe ein QTableWidget welches ich mit "setItem(...)" fülle.
Die Anzahl der "Column" 's sind fix; die Anzahl der "Row" 's ändert sich.
Mit dem einlesen der Werte klappt alles soweit.
Ich möchte nun verhindern, dass der Anwender den Text eines Items verändert.
Dafür benutze ich:

Code: Alles auswählen

tableWidget->item( r, c)->setFlags(Qt::ItemIsEnabled);
tableWidget->item( r, c)->setFlags(Qt::ItemIsSelectable); // da die Möglichkeit bestehen soll ein Item auszuwählen
soweit so gut... ändere ich nun noch die Schrift der Items von grau (da ausgegraut) auf zB schwarz, dann merkt der Anwender nichts von der Setzung der Flags.

Mein Problem ist nun blos, dass wenn ich Icons (+ Text) in ein Item einfüge, die Icons immer ausgegraut dargestellt werden.
Das möchte ich natürlich verhindern.
Hoffentlich hat jemand eine Idee wie ich dem entgegenwirken kann.

Ich könnte das Icon seperat in ein Item laden und von diesem dann die Flags einfach nicht setzen, aber ich hätte ganz gerne neben meinem Icon noch etwas Text.


Freundliche Grüße
Zuletzt geändert von Neuling_ am 1. April 2010 17:27, insgesamt 1-mal geändert.
Qt 2009.05
Entw.-umgebung Qt-Creator
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Wenn Qt::ItemIsEditable nicht gesetzt ist, kann er den Text docvh gar nicht verändern.

Schau dir mal QIcon an, und setz für Diabled das gleiche Icon wie für Normal.
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

Hallo,

weißt du wie ich über den Quelltext das Icon in einem QTableWidget-Item für disabled setze?

Grüße
Qt 2009.05
Entw.-umgebung Qt-Creator
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Du erstellst dir ein QIcon

Code: Alles auswählen

QIcon MyIcon;
MyIcon.addPixmap(myPixmap, QIcon::Normal);
MyIcon.addPixmap(myPixmap, QIcon::Disabled);
MyIcon.addPixmap(myPixmap, QIcon::Active);
MyIcon.addPixmap(myPixmap, QIcon::Selected);

MyTableWidget->setIcon(MyIcon);
So sollte das selbe Bild für alle Zustände gesetzt sein.
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

ich probier es gleich aus ;)


Edit:
wunderbar: funktioniert!


Danke!
Qt 2009.05
Entw.-umgebung Qt-Creator
Antworten