[löschen!]Nachschlag: Mouseevent auf QLabel begrenzen

Alles rund um die Programmierung mit Qt
Antworten
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

[löschen!]Nachschlag: Mouseevent auf QLabel begrenzen

Beitrag von qtNiko »

hallo,

------------- der Text ging aus Versehen raus, ehe er fertig war, bitte löschen

der Tipp für mein bereits angesprochenes Problem war, ein eventFilter() zu verwenden. Aber der tut nicht ganz, wie ich es erwartet habe. Vielleicht habe ich auch etwas nicht richtig verstanden.

Situation: ich habe in meinem Hauptfenster ein QLabel, graphView_scene, für Bildausgaben. Außerdem habe ich mousePressEvent(..) für das Hauptfenster überschrieben mit eigenen Aktionen.

Meine Absicht: Mouseevents sollen so gefiltert werden, dass nur die Klicks im QLabel an mousePressEvent(..) weitergeleitet werden.

Realisierung:

Code: Alles auswählen

im Konstruktor meines Hauptfensters ipcSim:
...
graphView_scene->installEventFilter(this);
...

bool ipcSim::eventFilter(QObject *obj, QEvent *event)
 {
     if (obj == graphView_scene) {
         if (event->type() == QEvent::MouseButtonPress) {
        	 qDebug() << "Mousetaste ";
             return false;
         }
         else
             return true;
 
     } else {
         // pass the event on to the parent class
         return QMainWindow::eventFilter(obj, event);
     }
 }

vorläufige Version zur Visualisierung, was passiert:
void ipcSim::mousePressEvent(QMouseEvent* event) {
...
	if (event->button() == Qt::LeftButton) {
		qDebug() << "li(" << event->x() << ", " << event->y() << ")";
	else if (event->button() == Qt::RightButton) {
		qDebug() << "re(" << event->x() << ", " << event->y() << ")";
...
} 
prinzipieller Aufbau meines Hauptfensters:

| | | |
| | | |
| | | |
linker Bereich: alles mit mittlerer Bereich: rechter Bereich:
Bedienelementen voll Bildausgabe auf QLabel weitere Bedienelemente,
Zuletzt geändert von qtNiko am 2. Januar 2009 21:02, insgesamt 1-mal geändert.
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Aber der tut nicht ganz, wie ich es erwartet habe
Und was tut er? Kommt die Debug-Ausgabe?
Antworten