Phonon verhindert mouseDoubleClickEvent?
Verfasst: 30. November 2010 20:15
Hallo Leute,
seit letztem Wochenende habe ich ein seltsames Problem (zumindest finde ich das seltsam^^):
Mit einem Mal bekomme ich kein mouseDoubleClickEvent mehr, wenn ich auf einen Frame/... doppelklicke, das ein Phonon-VideoWidget enthält. Dort bekomme ich einfach nichts... dieses Problem ließ sich auch problem reproduzieren, hier ist mal ein ganz einfaches Code-Beispiel, das alle Events ausgiebt:
mainwindow.h
mainwindow.cpp
main.cpp
Ein Klick oder Doppelklick auf das VideoWidget, beide melden kein Event. Wenn ich jedoch auf den Rahmen doppelklicke (dort, wohin sich bedingt durch den Layout-Rahmen das VideoWidget nicht erstreckt), dort bekomme ich sowohl MouseButtonDblClick (4), MouseButtonPress (2), als auch MouseButtonRelease (3) bei einem Doppelklick gemeldet.
Hat sich da was bei Qt geändert, oder ist dies ein Problem in meinem System?
Jedenfalls ergibt dies für mich absolut keinen Sinn...
seit letztem Wochenende habe ich ein seltsames Problem (zumindest finde ich das seltsam^^):
Mit einem Mal bekomme ich kein mouseDoubleClickEvent mehr, wenn ich auf einen Frame/... doppelklicke, das ein Phonon-VideoWidget enthält. Dort bekomme ich einfach nichts... dieses Problem ließ sich auch problem reproduzieren, hier ist mal ein ganz einfaches Code-Beispiel, das alle Events ausgiebt:
mainwindow.h
Code: Alles auswählen
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QtDebug>
#include <QFrame>
#include <QHBoxLayout>
#include <QWidget>
#include <QEvent>
#include <phonon/VideoWidget>
#include <phonon/MediaObject>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
bool event(QEvent *);
};
#endif // MAINWINDOW_HCode: Alles auswählen
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
Phonon::MediaObject *mediaObject = new Phonon::MediaObject;
Phonon::VideoWidget *videoWidget = new Phonon::VideoWidget;
Phonon::createPath(mediaObject,videoWidget);
QFrame *frame = new QFrame;
frame->setStyleSheet("background-color: black");
frame->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QHBoxLayout *frameLayout = new QHBoxLayout;
frameLayout->addWidget(videoWidget);
frame->setLayout(frameLayout);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(frame);
QWidget *centralWidget = new QWidget;
centralWidget->setLayout(layout);
this->setCentralWidget(centralWidget);
}
bool MainWindow::event(QEvent *event) {
qDebug() << "MainWindow Event:" << event->type();
}
bool Phonon::VideoWidget::event(QEvent *event) {
qDebug() << "VideoWidget Event:" << event->type();
}
MainWindow::~MainWindow() {
}Code: Alles auswählen
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}Hat sich da was bei Qt geändert, oder ist dies ein Problem in meinem System?
Jedenfalls ergibt dies für mich absolut keinen Sinn...