QML-Code:Anruf Dialog von CPP (C++) auf QML in QT Mobile File (iOS und Android)
Dialog {
id: dialog
objectName: dialog
modal: true
standardButtons: Dialog.cancel | Dialog.Ok
title: qsTr("About")
Label {
text: "Lorem ipsum..."
}
}
CPP
void LoginPage::checkLogin(QString username, QString password)
{
if(username == "username" && password == "password")
{
}
else
{
QObject *rect = findChild<QObject*>("dialog");
//this solution don't work
}
}
I-Dialog von CPP aufrufen müssen, suchte ich im Internet aber ich habe keine Lösungen gefunden. Mein Ziel ist offen Dialogfehler von CPP-Datei. Irgendwelche Ideen?
Sicher, Sie versuchen, Kind der 'LoginPage' Instanz zu suchen. Sie sollten root Element der QML-Struktur und so durch seine Kinder suchen. – folibis
Zweitens, ich denke, Sie sollten den 'objectName' zwischen Anführungszeichen in qml setzen:' objectName: "dialog" ' – m7913d
Warum nicht Signale und Slots verwenden? Vielleicht ein Signal wie loginFailed() auf der C++ Seite ausgeben. Innerhalb von QML können Sie dann Connections {target: loginPage; onLoginFailed: console.log ("Meh")}. – Dinesh