Hallo,
ich habe ein Widget erstellt in dem Bilddaten wiedergegeben werden. Beim Verschieben oder auch Scalieren des Widget sollen die Bilddaten jedoch ausgeblendet werden. Hierfür müsste ich die Events "MousePress" bzw "MouseRelease" die beim Klicken und Loslassen des Widget-Rahmens gesendet werden abfangen und entsprechend reagieren.
Das Problem besteht darin das sich die Standardevents von QT auf den Inhalt des Fensters beschränken. --> Ein Klick auf den Widget-Rahmen löst kein Event aus! Gibt es denn irgendwelche Erweiterungen für QT um die beschriebenen Events, die anscheinend nur für die X11-interne Verwendung bestimmt sind, abzufangen???
P.S.: QResizeEvent, QMoveEvent, usw. hab ich schon getestet ... sie erfüllen nicht den gewünschten Zweck
Gruß
Widget-Events
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Hi
es könnte sein, dass diese Ereignisse platform abhängig sind (nur so 'ne vermutung). Dann kannst Du nur noch (für jede plattform gesondert) die system - events abfangen. z.B. QApplication::winEventFilter ( MSG * ) für windows und so weiter. Triffst Du auf ein geeigneste (platform) Ereignis, sendest Du vorher direkt ein Custom Event an Dein Fenster und lässt dann das eigentliche (platform) Ereignis ausführen
Gruss Arne
es könnte sein, dass diese Ereignisse platform abhängig sind (nur so 'ne vermutung). Dann kannst Du nur noch (für jede plattform gesondert) die system - events abfangen. z.B. QApplication::winEventFilter ( MSG * ) für windows und so weiter. Triffst Du auf ein geeigneste (platform) Ereignis, sendest Du vorher direkt ein Custom Event an Dein Fenster und lässt dann das eigentliche (platform) Ereignis ausführen
Gruss Arne
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich glaube Du fragst einfach nur das falsche Widget ab. Wie versucht Du die Events abzufangen? http://doc.trolltech.com/4.0/qwidget.ht ... PressEvent
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Nein glaube ich nicht ... das Eventhandling erfolgt vollständig durch selbstimplementierte Funktionen.
die Events (des Festers) fange ich mit folgenden Slots bzw. Funktionen ab:
virtual bool QWidget::X11Event (XEvent *)
virtual bool QApplication::X11EventFilter (XEvent *)
int QApplication::X11ProcessEvent (XEvent *)
Aber auch damit komme ich nicht an die Events des Fensterrahmens oder gar außerhalb des Fensters...
die Events (des Festers) fange ich mit folgenden Slots bzw. Funktionen ab:
virtual bool QWidget::X11Event (XEvent *)
virtual bool QApplication::X11EventFilter (XEvent *)
int QApplication::X11ProcessEvent (XEvent *)
Aber auch damit komme ich nicht an die Events des Fensterrahmens oder gar außerhalb des Fensters...
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: