Seite 1 von 1

focusChanged und QGraphicsView

Verfasst: 11. August 2010 15:06
von tommy_ra
Hallo,

ich habe eine Anwendung, die im QGraphicsView Widgets (u.a. QLineEdit) als QGraphicsProxyWidget eingebunden hat. Nun möchte ich in der Anwendung eine Bildschirmtastatur programmieren. Ich wollte mittels
connect(g_pApp, SIGNAL(focusChanged(QWidget *, QWidget *)),this, SLOT(saveFocusedWidget(QWidget *, QWidget *))); mir das Edit merken, für das die Eingabe verwendet werden soll. Allerdings erhalte ich dieses Ereignis nur beim Betreten und Verlassen der Anwendung und nicht wenn innerhalb der Grafik der Fokus verändert wird, wie es bei einer normalen Qt-Anwendung der Fall ist.
Hat irgendjemand Erfahrung mit diesem Problem? Gibt es ein SIGNAL, das ich verwenden kann, um doch noch an die zuletzt aktive Edit/Table/ComboBox zu kommen.
Es kann ja nicht der Weisheit letzter Schluss sein, dass ich in einem zweiten Thread mit Timer das Widget mit Fokus suche.

Für jede Hilfe bin ich dankbar.
Gruß,
tommy

Verfasst: 11. August 2010 15:40
von upsala
Das hier schon gesetzt?
QGraphicsItem::ItemIsFocusable
Es kann ja nicht der Weisheit letzter Schluss sein, dass ich in einem zweiten Thread mit Timer das Widget mit Fokus suche.
Wie kommt man den auf so einen Blödsinn?

Verfasst: 11. August 2010 15:46
von tommy_ra
so einfach ist die Antwort sicher nicht, oder wie sollte der Thread IsFocusable ersetzen???
Ich kann im Debugger sehen, dass die Komponente den Fokus hat, aber ich möchte ein SIGNAL bekommen, wenn sie diesen bekommt oder verliert.