QTableWidget: selectedCells mit roten Rahmen, aber unverändertem Hintergrund

Alles rund um die Programmierung mit Qt
Antworten
freakonaleash99
Beiträge: 43
Registriert: 23. Juli 2017 12:35

QTableWidget: selectedCells mit roten Rahmen, aber unverändertem Hintergrund

Beitrag von freakonaleash99 »

Hallo zusammen,

ich habe ein QTableWidget in dem jede Zelle eine andere Farbe und anderen Text hat. Ich möchte nun, wenn ich eine Zelle anklicke, die Farbe und der Text erhalten bleibt, aber ein roter Rahmen um die Zelle gezeichnet wird. Standardmäßig ist es ja so, dass die Zelle blau eingefärbt wird.
Ich habe es mit stylesheets probiert, allerdings komme ich nicht zum Erfolg. Ich dachte, dass folgendes Stylesheet die Lösung ist, allerdings wird die Farbe beim Anklicken weiß:
QTableView::item:selected {
background-color : transparent;
border: 2px solid red;
border-color: red;
}

Habe jetzt 2 Stunden mit Hilfe von google recherchiert, aber eine Lösung habe ich nicht gefunden. Die einzige Idee, die ich habe: eine Funktion zu schrieben, welche bei jedem Klick in der Tabelle das Stylesheet indiviudell nach Farbe anpasst. Etwa so:

Code: Alles auswählen

void Ofensteuerung::setStyleSheet_yxTable()
{
    QString color = ui->tableWidget_ebene_xy->currentItem()->backgroundColor().name();
    ui->tableWidget_ebene_xy->setStyleSheet("QTableView::item:selected {  "
                                            "background-color : "+color+";  "
                                            "border: 2px solid red; "
                                            "border-color: red;  }");
}
Und die Funktion über connect cellActivated(int,int) ansprechen. Das Problem, man muss 2 mal in die gleiche Zelle klicken, damit es funktioniert.


Ich habe den Eindruck, dass es einfach über die styleSheets gehen muss... Hat jemand eine Idee?

Viele Grüße
Antworten