我创建了一个包含按钮的项目。我正在尝试使用此按钮关闭项目的父窗口,但是当我点击该项目时,我收到此消息:
TypeError:对象的属性'close'QQuickRootItem(0x1d8efed8)不是 功能
你能帮我解决这个问题吗?
项目代码:
import QtQuick 2.4
Item {
id: backButton
ItemForButton{
id: baseButton
text: "Back"
onClicked: {
backButton.parent.close()
}
}
}
窗口代码:
Window {
id: window
visible: true
BackButton {
}
x: 30
y: 30
}
答案 0 :(得分:5)
这看起来有点乱。如果我是你,我会在自定义按钮类型中添加一个单击的信号。例如:
档案:
import QtQuick 2.4
Item {
id: backButton
// Add a clicked signal here
signal clicked()
ItemForButton{
id: baseButton
text: "Back"
onClicked: {
// Emit the new clicked signal here:
backButton.clicked();
}
}
}
窗口:
Window {
id: window
visible: true
BackButton {
// Respond to the signal here.
onClicked: window.close();
}
}
这提供了将来以其他方式使用自定义BackButton类型的灵活性。