qt中的引用错误快速控件tabview

问题描述:

我已经使用TabView编写了一个QT Quick程序。当我点击Tabview中的botton b1时,程序应调用show_text()并打印b1的文本,但它会打印“ReferenceError:b1未定义”。任何建议将不胜感激,谢谢。qt中的引用错误快速控件tabview

import QtQuick 2.2 
import QtQuick.Controls 1.1 
import QtQuick.Window 2.1 



ApplicationWindow { 
    function show_text() { 
     console.log(b1.text) 
    } 

    TabView { 
     id: tv 
     Tab { 
      id: tab1 
      Button{ 
       id: b1 
       text:"b1's text" 
       onClicked: { 
        //console.log(b1.text) 
        show_text() 
       } 
      } 
     } 
    } 
} 

您可以通过此示例访问您的对象。

ApplicationWindow { 
function show_text() { 
    console.log(tv.b1Text); 
} 

TabView { 
    id: tv 
    property alias b1Text: b1.text 
    Tab { 
     id: tab1 
     Button{ 
      id: b1 
      text:"b1's text" 
      onClicked: { 
       //console.log(b1.text) 
       show_text() 
      } 
     } 
    } 
} 

}

+1

使用Qt 5.7,我得到'无效的别名参考。无法找到ID“b1”' – ony

传递对象作为参数

import QtQuick 2.2 
import QtQuick.Controls 1.1 
import QtQuick.Window 2.1 

ApplicationWindow { 
    function show_text(myobject) { 
     console.log(myobject.text) 
    } 

    TabView { 
     id: tv 
     Tab { 
      id: tab1 
      Button{ 
       id: b1 
       text: "b1's text" 
       onClicked: { 
        show_text(b1) 
       } 
      } 
     } 
    } 
}