【发布时间】:2014-07-25 20:16:30
【问题描述】:
我正在开发一个不应出现在任务栏中的应用程序启动器 Qt 应用程序。它通过热键(Alt+Space)被带到前面,如果它失去焦点应该隐藏。有时它会出现在任务栏中,我不知道为什么。这是一个qt错误吗?
setWindowFlags( Qt::CustomizeWindowHint
| Qt::FramelessWindowHint
| Qt::WindowStaysOnTopHint
| Qt::Tool
);
我想这与我必须捕捉的事件有关。可编译源代码:github、zip(Qt5)。截屏:https://www.youtube.com/watch?v=-EpB4aCzTLg
编辑:在制作此视频时我发现,如果在显示应用程序之前激活了另一个窗口,就会发生这种情况。
【问题讨论】:
-
这个问题还有意义吗?
-
工具窗口的
_NET_WM_STATE属性中应该有_NET_WM_STATE_SKIP_TASKBAR原子。使用xprop进行检查。如果没有这样的原子,那就是 Qt 错误。如果有,并且它仍然显示在任务栏中,那就是你的 WM 错误。