Seite 1 von 1

Ändern des "Focus-Rahmens" eines Widgets

Verfasst: 26. September 2005 15:59
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

Verfasst: 26. September 2005 18:32
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'.

Verfasst: 26. September 2005 19:30
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

Verfasst: 26. September 2005 21:17
von Christian81
Nimm doch einfach alles aus qwindowsstyle.cpp und ändere nur den Block bei PE_FrameFocusRect...