Connect a complex signal from QML to Qt/de: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Sub-categorize)
 
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 
{{LangSwitch}}
[[Category:snippets]]
[[Category:Snippets::QML]]
[[Category:German]]
[[Category:German]]
'''Deutsch''' | [[Connect_a_complex_signal_from_QML_to_Qt|English]]


= Komplexes Signal von QML nach C++ senden (QtQuick 1) =
= Komplexes Signal von QML nach C++ senden (QtQuick 1) =

Latest revision as of 12:31, 28 November 2016

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Komplexes Signal von QML nach C++ senden (QtQuick 1)

Der Code-Schnipsel demonstriert, wie man unter QtQuick 1 ein komplexes Signal von QML aus zu einem in C++ implementierten Slot sendet.

main.cpp

#include <QtGui>
#include <QtDeclarative>

class DeclarativeView : public QDeclarativeView
{
 Q_OBJECT
public:
 DeclarativeView(const QUrl & source) : QDeclarativeView(source)
 {}
 public slots:
 void testSlot(QString string1, QString string2)
 {
 qDebug() << string1 << string2;
 }
};

#include "main.moc"
int main(int argc, char **argv)
{
 QString file = "main.qml";

QApplication app(argc, argv);
 DeclarativeView view(QUrl::fromLocalFile(file));

QDeclarativeItem '''item = qobject_cast<QDeclarativeItem'''>(view.rootObject());
 QObject::connect(item, SIGNAL (viewClicked(QString , QString)), &view, SLOT (testSlot(QString, QString)));

view.resize(200,200);
 view.show();
 return app.exec();
}

main.qml

import QtQuick 1.0

Item {
 width: 200; height: 300
 signal viewClicked(string first, string second)

MouseArea {
 anchors.fill: parent
 onClicked: viewClicked("first", "second")
 }
}