QMLコード:コールダイアログ(C++)QTモバイル(iOSとAndroidの)にQMLにファイル
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
}
}
私はCPPからダイアログを呼び出す必要が、私はオンラインで検索しましたしかし私は解決策を見つけませんでした。 ターゲットが開いています。cppファイルのダイアログエラーです。 アイデア
確かに、あなたは 'LoginPage'インスタンスの子を検索しようとしています。 QMLツリーのルート項目を取得し、その子を検索する必要があります。 – folibis
第二に、qmlの 'objectName'を引用符で囲むべきだと思います:' objectName: "dialog" ' – m7913d
シグナルとスロットを使わないのはなぜですか?おそらく、C++側でloginFailed()のようなシグナルを出します。 QMLの内部では、コネクション{target:loginPage; onLoginFailed:console.log( "Meh")}。 – Dinesh