Fokus in Tabellen

Alles rund um die Programmierung mit Qt
Antworten
tamasi
Beiträge: 45
Registriert: 5. Juli 2007 15:49

Fokus in Tabellen

Beitrag von tamasi »

Hi,

ich habe auf einer Seite zwei Tabellen, welche von QTableView abgeleitet sind, inkl Model Delegate usw.
Jetzt möchte ich die fokusierte Tabelle kenntlich machen. Dazu soll der Hintergrund farbig anders unterlegt werden.
Für meinen normalen Schaltflächen erledigt dies meine cStyle Klasse. Leider fand ich nirgends einen Bezeichner für die Tabellen, weder unter den ComplexenControls noch unter den Primitiven oder einer der anderen Tabellen dort.
Daher versuchte ich es mit der Methode focusInEvent in cTableView.
Das sieht folgendermassen aus.

Code: Alles auswählen

void cTableView::focusInEvent (QFocusEvent * event) {
  this->setAutoFillBackground(true);
  QPalette Pal=palette();
  Pal.setColor(QPalette::Base,QColor(255,0,0));
  this->setPalette(Pal);
} 
Eigentlich tut die Funktion genau das was ich möchte. Nur stützt das Programm spätestens nach 3-4 Fokuswechseln ab.
Ohne die überschriebene Methode kann ich beliebig oft zwischen den Tabellen wechseln. Irgendwie läuft das Programm mit der Methode sehr viel zäher, alles wirkt wie in Zeitlupe.
Weiß jemand woran das liegt?
tamasi
Beiträge: 45
Registriert: 5. Juli 2007 15:49

Beitrag von tamasi »

Habe es hinbekommen.
MAn muss gleichzeitig die beiden Funktionen focusInEvent und focusOutEvent überschreiben.
Dann funktioniert alles tadelos.
Antworten