加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

qt – QML2 ApplicationWindow键处理

发布时间:2020-12-13 22:34:37 所属栏目:Windows 来源:网络整理
导读:有没有办法处理QtQuick.Controls组件的ApplicationWindow中的按键事件? Qt5.3的文档没有提供任何方法来执行此操作.此外,它表示Keys仅存在于Item对象中.当我尝试处理按键事件时,它说“无法将Keys属性附加到:ApplicationWindow_QMLTYPE_16(0x31ab890)不是一
有没有办法处理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;
    }
}

解决方法

ApplicationWindow {
id: mainWindow
  Item {
    focus: true
    Keys.onEscapePressed: {
      mainWindow.close()
      event.accepted = true;
    }
  TextField {}
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读