【发布时间】:2019-04-04 07:24:05
【问题描述】:
我有一个 QML 弹出窗口,我可以通过在其外部单击或按退出键来关闭它(因此默认关闭策略很好)。 但是,如果弹出窗口通过转义(取消一些事情)或通过单击外部(提交更改)关闭,我需要做不同的事情。我不能使用 Dialog,我们不想要显式按钮。
我怎样才能可靠地检测到它?到目前为止,我已经使用 MouseArea 来检测鼠标在弹出窗口关闭时是否悬停。唯一的问题是,如果用户按下转义键并且鼠标位于弹出窗口之外,则该功能不起作用。
Popup
{
onAboutToHide: {
if(!ma.containsMouse)
{
}
}
contentItem: Text{
text: "hello"
}
MouseArea{
z:-1
id: ma
anchors.fill: parent
hoverEnabled:true
}
}
我尝试添加
Keys.onEscapePressed:{
console.log('esc !')
}
到弹出窗口,但 QML 抱怨它不是一个项目。
【问题讨论】: