Ändern des "Focus-Rahmens" eines Widgets

Alles rund um die Programmierung mit Qt
Antworten
DomDotCom
Beiträge: 4
Registriert: 11. Juni 2005 18:15
Wohnort: Erlangen

Ändern des "Focus-Rahmens" eines Widgets

Beitrag von DomDotCom »

Hallo!

Weiß jemand, wie man den „Focus-Rahmen“ eines Widgets beeinflussen kann? Ich arbeite an einem embedded Project und auf einem kleinen LCD kann man nicht mehr erkennen ob ein Widget den Focus hat oder nicht (der kleine gestrichelte graue Rahmen um das Widget ist hier einfach zu klein). Ich bräuchte unbedingt einen größeren, deutlicheren Rahmen, plus vielleicht noch eine andere Farbe.

Ich habe versucht abzuleiten und einen Frame zu implementieren, der auf hasFocus() reagiert, aber das ist nicht sonderlich praktisch, da ich nun jedes Widget ableiten muss (z.B QPushButton), und ich den QDesigner benutzen will.

Pleaze help!!

Dominic


Dominic
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich glaube am einfachsten wäre es, ein neues style zu machen. Nimm einfach qwindowsstyle.cpp (oder was du standardmässig benutzt) und modifiziere in ::drawPrimitive 'PE_FrameFocusRect'.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
DomDotCom
Beiträge: 4
Registriert: 11. Juni 2005 18:15
Wohnort: Erlangen

Beitrag von DomDotCom »

Danke!!

aber ganz ist mir das noch nicht klar: ich implementiere die pure virtual drawPrimitive()-Funktion in meiner eignen QStyle-Klasse, so weit so gut, aber wie genau muss ich PrimitiveElem, QStyleOption, QPainter und QWidget verwenden? Hast du da Erfahrung?

Thx

Dominic
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nimm doch einfach alles aus qwindowsstyle.cpp und ändere nur den Block bei PE_FrameFocusRect...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten