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()
}
}
}
}
}
答
传递对象作为参数
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)
}
}
}
}
}
使用Qt 5.7,我得到'无效的别名参考。无法找到ID“b1”' – ony