无法使用按钮关闭 window:QML
Can't close the window with button: QML
我创建了一个项目,其中包含一个按钮。我正在尝试使用此按钮关闭项目的父项 window,但在单击该项目时我收到此消息:
TypeError: Property 'close' of object QQuickRootItem(0x1d8efed8) is not
a function
你能帮我解决这个问题吗?
项目代码:
import QtQuick 2.4
Item {
id: backButton
ItemForButton{
id: baseButton
text: "Back"
onClicked: {
backButton.parent.close()
}
}
}
window 的代码:
Window {
id: window
visible: true
BackButton {
}
x: 30
y: 30
}
好像有点乱。如果我是你,我会向自定义按钮类型添加一个点击信号。例如:
项目:
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:
Window {
id: window
visible: true
BackButton {
// Respond to the signal here.
onClicked: window.close();
}
}
这为将来以其他方式使用自定义 BackButton 类型提供了灵活性。
我创建了一个项目,其中包含一个按钮。我正在尝试使用此按钮关闭项目的父项 window,但在单击该项目时我收到此消息:
TypeError: Property 'close' of object QQuickRootItem(0x1d8efed8) is not a function
你能帮我解决这个问题吗?
项目代码:
import QtQuick 2.4
Item {
id: backButton
ItemForButton{
id: baseButton
text: "Back"
onClicked: {
backButton.parent.close()
}
}
}
window 的代码:
Window {
id: window
visible: true
BackButton {
}
x: 30
y: 30
}
好像有点乱。如果我是你,我会向自定义按钮类型添加一个点击信号。例如:
项目:
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:
Window {
id: window
visible: true
BackButton {
// Respond to the signal here.
onClicked: window.close();
}
}
这为将来以其他方式使用自定义 BackButton 类型提供了灵活性。