Seite 1 von 1
QPushButton, setFocus() und die gestrichelte Linie
Verfasst: 28. Juni 2007 18:36
von Fabeltier
Hallo,
Ich habe eine wohl einfache Frage zum Focus bei QPushButtons.
Ich habe versucht in einem Proggy den Focus auf einen Button zu setzen mit
Das funktioniert auch, haut man nun auf Space wird die Aktion hinter diesem Button ausgefuehrt. Leider wird der Button aber vorher nicht "markiert" angezeigt.
Frage:
Wie kann ich also den Focus UND diese gestrichelte Linie um den Text des PushButtons setzen, die erscheint, wenn man mit TAB durch die Buttons durchgeht?
TIA

Verfasst: 28. Juni 2007 19:04
von RD1978
Verfasst: 28. Juni 2007 19:32
von CaptnChaos
wenn nichts mehr hilft probier das hier:
Code: Alles auswählen
QCursor::setPos(mapToGlobal(QPoint(pb1->x()+pb1->width()/2, pb1->y()+pb1->height()/2)));
Es ist zwar eine aprubte lösung, aber du hast focus und die "gestrichelte Linie"
Verfasst: 28. Juni 2007 19:52
von Fabeltier
Hallo,
@RD1978
Die Tabreihenfolge bringt mir leider auch kein optisch sichbares Zeichen, also entsprechende gestrichelte Linie.
@Kernel_Panic
So wie ich es verstehe muss ich fuer pb1 den Namen des Buttons einsetzen - naja, irgendwie witziger Effekt, aber die dumme Strichellinie hab ich immer noch nich. Dafuer springt mein Curser nun, hehe (werd das gleich mal etwas ausbauen, Danke!).
So, noch weitere Vorschlaege?
Verfasst: 28. Juni 2007 20:24
von CaptnChaos
hm, ich fands auch lustig, aber bei mir wird das dann auch hervorgehoben dargestellt. Vllt solltest du das button mal "anklicken" und ein flad setzen, dass der klick nur ein dummy war. Du könntest animateClick(int ms) verwenden, wenn du dir so sachen spass machen.
Verfasst: 2. Juli 2007 13:18
von Zandru
nur ne Idee: bei SetFocus() den Parameter FocusReason mal die verschiedenen Werte durchprobieren? (insbesondere Tastatur-Event als Reason denke ich könnte vielversprechend sein

Verfasst: 2. Juli 2007 13:52
von CaptnChaos
nützt nix