Vic*_*voy 7 qt window key event-handling qml
有没有办法处理QtQuick.Controls组件的ApplicationWindow中的按键事件?Qt5.3的文档没有提供任何方法来执行此操作.此外,它表示Keys只存在于Item对象中.当我尝试处理按键事件时,它说" 无法将Keys属性附加到:ApplicationWindow_QMLTYPE_16(0x31ab890)不是一个项目 ":
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.1
import QtQuick.Window 2.1
ApplicationWindow {
id: mainWindow
visible: true
width: 720
height: 405
flags: Qt.FramelessWindowHint
title: qsTr("test")
x: (Screen.width - width) / 2
y: (Screen.height - height) / 2
TextField {
id: textField
x: 0
y: 0
width: 277
height: 27
placeholderText: qsTr("test...")
}
Keys.onEscapePressed: {
mainWindow.close()
event.accepted = true;
}
}
Run Code Online (Sandbox Code Playgroud)
Mee*_*fte 11
ApplicationWindow {
id: mainWindow
Item {
focus: true
Keys.onEscapePressed: {
mainWindow.close()
event.accepted = true;
}
TextField {}
}
}
Run Code Online (Sandbox Code Playgroud)
也许这会有所帮助。使用 aShortcut不需要focus设置。
ApplicationWindow {
id: mainWindow
Shortcut {
sequence: "Esc"
onActivated: mainWindow.close()
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4095 次 |
| 最近记录: |