2013-04-28 1 views
0

Что я делаю неправильно? Когда я нажимаю кнопку в пользовательском интерфейсе, я хочу изменить текст в ярлыке.Connect C++ с кнопкой пользовательского интерфейса BlackBerry

.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!"); 
} 

Пожалуйста, помогите мне.

ответ

0

Вы можете сделать как this-

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" 
     } 
    } 
} 

}