qt - 带有将焦点转移到其父级的 MouseArea 的 Qml 窗口
问题描述
我想在应用程序窗口的一部分上创建一个用于播放视频的窗口。它应该有一个正常运行的 MouseArea,但ApplicationWindow
在单击它时将焦点转移到其父级 ( ),就像单击其父级一样。目前,我将标志设置如下;
flags: Qt.Window | Qt.FramelessWindowHint | Qt.WindowDoesNotAcceptFocus | Qt.WindowStaysOnBottomHint
通过设置 Qt.WindowDoesNotAcceptFocus 标志,窗口不接受焦点但也不将焦点传递给其父级。但是,如果我设置Qt.WindowTransparentForInput
窗口确实将焦点传递给其父级,则该窗口上的所有 MouseArea 都将被禁用。
我检查了Qt WindowType Flags但找不到解决方法。你们中有人提出解决方案吗?
解决方案
在黑暗中猜测 - 你想要这样的东西:
Window {
id: win
width: 600
height: 600
visible: true
ApplicationWindow {
id: someWin
property Window parentWin: win
width: 600
height: 300
visible: true
MouseArea {
anchors.fill: parent
onClicked: {
someWin.parentWin.requestActivate()
}
}
}
}
如果不是,请澄清您所说的“转移焦点”是什么意思,或者您到底想达到什么目的。考虑图像和代码示例,以帮助我们的想象力理解您的问题。
推荐阅读
- javascript - 访问 GUM 的 Chrome 扩展程序
- javascript - 如何将对象更改为数组以在sails.js 中创建多记录?
- c - 当存储在 CPU 寄存器中时,快速整数类型是否更快?
- javascript - Javascript 日期对象基于什么
- python - 使用公式向数据框添加一行
- validation - Oracle APEX 5.1 验证未执行
- c# - 单元测试控制台应用程序
- spring-boot - Spring Boot 集成测试 - BeanDefinitionOverrideException
- python-2.7 - CentOs 服务器上的 slack 文件上传失败
- powerapps - Launch PowerApps from shortcut or command line