2013-08-16 104 views
0

我正在以編程方式實現多個添加按鈕。我成功添加按鈕,但我無法獲得所有按鈕的點擊事件。我總是得到點擊最後添加的按鈕。用點擊事件添加動態按鈕

我想單獨點擊所有按鈕的事件。

我正在使用此代碼添加按鈕。

ComponentDefinition { 
      id: mComponentDefinitionSubmitButton 
      Button { 
       id: mButtonID 
       horizontalAlignment: HorizontalAlignment.Center 
       onClicked: { 
        //My Click code. Always detect last button. 
       } 
      } 
     } 

var mButton = mComponentDefinitionSubmitButton.createObject(); 
mButton.text = qsTr(title) 
mContainerButton.add(mButton) 

回答

3

我做信號..

function checkClick(button) 
    { 
     console.debug("click..."+ button); 
    } 
    attachedObjects: [ 
     ComponentDefinition { 
      id: mComponentDefinitionSubmitButton 

      Button { 
       id: mButtonID 
       signal click(variant text); 
       horizontalAlignment: HorizontalAlignment.Center 
       onClicked: { 
        click(mButtonID.text); 
       } 
      } 
     } 
    ] 

---------------------------------------------------------------- 
var mButton = mComponentDefinitionSubmitButton.createObject(); 
mButton.text = qsTr("Button"); 
mButton.click.connect(checkClick); 
btnContainer.add(mButton); 
相關問題