簡體   English   中英

Qml C ++ Find Child

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM