QML mousearea not working if QQmlApplication in different class
-
Hello,
I'm trying to initialize QQmlApplication in a different class
Main file:int main(int argc, char *argv[]) { QApplication app(argc, argv); //QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); DigitalClock clockie; return app.exec(); }
DigitalClock file:
DigitalClock::DigitalClock(QWidget *parent) : QWidget(parent) { QTimer *timer2 = new QTimer(this); QObject::connect(timer2, SIGNAL(timeout()), this, SLOT(showTimee())); timer2->start(10000); QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); QQmlComponent component(&engine, QUrl("qrc:/main.qml")); QObject *object = component.create(); timee = object->findChild<QObject*>("clockOnTop"); qDebug() << component.errors(); }
Now my problem.
If I initialize the QQmlApplicationEngine in the DigitalClock file, no mouse events are working..
If I initiliaze the QQmlApplicationEngine in the main file, the mouse events are working.. however I'm having trouble editing parts of the qml file later, which I do in the digitalclock file..Can anyone give me any advise?
Kind regards,
Jorrick Sleijster -
Hi @AQTStudent
First what is your aim in addingQQmlApplicationEngine
inQWidget
? Do you want to embed the QML inQWidget
?
Also why are you loadingmain.qml
twice ? -
I still had to remove the QWidget.. it's useless this way.
My error was that I can't have a QWidget class without a QQmlApplicationEngine.