Bonjour j'ai un problème avec le signal de connexion QML avec Qt fente lorsque j'utilise QQuickView voici mon main.cpp:QML signaler sous QT avec QQuickView
ModelValueReceivers *mvr;
mvr = new ModelValueReceivers();
QQuickView view;
view.setSource(QUrl(("qrc:///Main.qml")));
QQuickView loginScreenView;
loginScreenView.setSource(QUrl(("qrc:///LoginScreen.qml")));
QObject *loginScreen = loginScreenView.rootObject();
QObject::connect(loginScreen, SIGNAL(qmlSignal(QString, int)), mvr->valuesReceivers[U1], SLOT(start(QString, int)));
view.show()
Dans ModelValueReceivers est sous slots publics: void start(QString ipAddress, int tcpPort);
En LoginScreen.qml je signal: signal qmlSignal(string addressIP, int portTCP)
et émets est onClicked
onClicked: {
console.log("onClicked");
qmlSignal(ipTextField.text , parseInt(tcpPortTextField.text))
}
Dans la console, je peux voir le journal "onClicked" mais la fente ne démarre pas.
dans Main.qml J'ai:
Rectangle {
id: screen; width: 320; height: 480;
color: "#ffffff"
StackView{
id: sv
property StackView sv: sv
initialItem: Qt.resolvedUrl("qrc:///LoginScreen.qml");
} }`
Ok pour simplier exemple que je donne ceci: 'QObject :: connect (loginScreen, SIGNAL (exitApp()), et ctrl, SLOT (on_closeAppButton_clicked()));' J'ai fente int ctrl et le même signal dans le fichier qml – Szymson
Oh, je l'ai. Que l'échantillon n'est pas suffisant. Nous ne savons pas quel genre de récepteur est-ce. Et pas question! – AlexanderVX
J'ai principal.qml où InitialItem est LoginScreen dans LoginScreen j'ai un bouton Login qui devrait être connecté à slot dans la classe Qt, mais je ne sais pas comment dans le fichier main.cpp se connecter connecter LoginScreen avec slot Qt classe. – Szymson