连接c++与UI按钮黑莓

Connect C++ with UI button BlackBerry

本文关键字:按钮 UI c++ 连接      更新时间:2023-10-16

我做错了什么?当我按下UI上的按钮时,我想改变标签中的文本。

.qml:

Page {
    property alias lala: labelek.text 
    Container {
        layout: StackLayout {}
        Label {
            id:labelek
            text: "Hello World"
        }
        Button {
            id: btnChange
            objectName: "btnChange"
            text:"Change hello!"
            onClicked: {}
        }
    }
}

. cpp:

QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
    // create root object for the UI
    AbstractPane *root = qml->createRootObject<AbstractPane>();
    // set created root object as a scene
    app->setScene(root);
    root->setProperty("lala","Siema ziomek!");
    Button *newButton = root->findChild<Button*>("btnChange");
    if (newButton){
       //ChangeText(root);
       //root->setProperty("lala","Siema ziomek2!");
       bool conn = connect(newButton, SIGNAL(clicked()), this, SLOT(ChangeText(root)));
       if(conn)
           root->setProperty("lala","Connected!");
       else
           root->setProperty("lala","NOT Connected!");
    }
void ProgramowanieKSMobilne::ChangeText(AbstractPane *root){
    root->setProperty("lala","Czesc czolem!");
}

请帮帮我。

你可以这样做-

Page {
property alias lala: labelek.text 
Container {
    layout: StackLayout {}
    Label {
        id:labelek
        text: "Hello World"
    }
    Button {
        id: btnChange
        objectName: "btnChange"
        text:"Change hello!"
        onClicked: {
           labelek.text = "Button Clicked"
        }
    }
}

}