[英]Qml C++ Find Child
我有一個Main.qml插入MainPage.qml:
initialPage: MainPage {tools: toolBarLayout}
因為我選擇為Symbian制作它。 當我嘗試:
QObject *mainPage = rootObject->findChild<QObject*>("MainPage");
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
消息沒有通過,但沒有錯誤,我也嘗試使用“if(mainPage)”將SIGNAL連接到MainPage上的SLOT,但它也沒有響應。 我已經設法通過主要信號,但當我嘗試:
function changeNum(num)
{
MainPage.changeNum(num)
}
該函數永遠不會執行,因為我沒有收到來自console.log的消息,這與我在main運行時的函數不同。 我也知道其他方法不起作用,因為它也沒有記錄消息或執行其余的功能。
我認為問題可能在於MainPage沒有被創建為具有id的元素。 你知道這可能導致什么嗎?
findChild
不看的id
,但objectName
屬性,你可以簡單地里面添加MainPage
對象(見文檔 ):
initialPage: MainPage {
objectName: "MainPage"
tools: toolBarLayout
}
您也可以通過訪問該對象initialPage
的財產rootObject
而不需要添加objectName
屬性:
QObject * mainPage = QDeclarativeProperty(rootObject, "initialPage").object();
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.