Hallo,
ich bin dabei mich in Qt Quick einzuarbeiten. Ich habe in diesem Bereich noch keine Ahnung.
Folgende Frage:
Wenn ich in einem QQuickWidget,mittels setSource(), QML-Objekte dargestellt habe,wie kann ich ein Signal (z.B onClicked: item.qmlSignal("Hello from QML")) an ein QObject-Objekt außerhalb des QQuickWidgets senden ?
Ist dies überhaupt möglich ?
Wie kann ich ein Signal von einem QMl-Items nach außerhalb eines QQuickwidgets senden ??
Re: Wie kann ich ein Signal von einem QMl-Items nach außerhalb eines QQuickwidgets senden ??
Da gibt es mehrere Möglichkeiten.
Eine davon:
Jetzt kannst du aus QML heraus auf Properties, Slots, Signals und Q_INVOKABLE der Controller-Klasse zugreifen.
MfG
Hilefoks
Eine davon:
Code: Alles auswählen
class Controller : public QObject
{
Q_OBJECT
public:
//....
public slots:
void buttonClicked(const QString &str) {
qDebug() << str;
}
};
Code: Alles auswählen
int main(int argc char **argv)
{
//...
Controller *ctrl = new Controller;
QQmlContext *context = engine.rootContext();
context->setContextProperty("_ctrl", ctrl);
}
Code: Alles auswählen
onClicked: _ctrl.buttonClicked("Hello World");
Hilefoks
Re: Wie kann ich ein Signal von einem QMl-Items nach außerhalb eines QQuickwidgets senden ??
Vielen Dank,
das hilft mir erst mal weiter
das hilft mir erst mal weiter