如何在没有任务栏条目的情况下获得无父 QWindow
Posted
技术标签:
【中文标题】如何在没有任务栏条目的情况下获得无父 QWindow【英文标题】:How to get a parentless QWindow without taskbar entry 【发布时间】:2016-01-14 14:44:22 【问题描述】:我想要一个不在任务栏中但仍由窗口管理器处理的窗口(例如,在肉桂中显示漂亮的隐藏和显示动画)。如果我使用 Qt::Tool 没有动画。 如果我使用 QDialog 或其他,则会有一个任务栏条目。我可以以某种方式直接控制它吗?
【问题讨论】:
“动画”是什么意思? 你在寻找类似widget.setFlags(Qt::FramelessWindowHint)
的东西吗?
框架无关紧要。它关于任务栏条目和动画。
【参考方案1】:
Cinnamon 仅对常规窗口和对话框进行动画处理,动画在 Qt::Tool
窗口上运行良好,至少在 KDE 下。
但是您可以通过在系统上找到并编辑来自 cinnamon 的文件 windowManager.js
来解决此问题,以将 Meta.Window.Type.UTILITY
窗口类型(相当于 Qt::Tool
)添加到函数 WindowManager._shouldAnimate
中的动画窗口列表中:
if (type == Meta.WindowType.DIALOG || type == Meta.WindowType.MODAL_DIALOG )
return global.settings.get_boolean("desktop-effects-on-dialogs");
应该改为:
if (type == Meta.WindowType.DIALOG || type == Meta.WindowType.MODAL_DIALOG
|| type == Meta.WindowType.UTILITY )
return global.settings.get_boolean("desktop-effects-on-dialogs");
【讨论】:
以上是关于如何在没有任务栏条目的情况下获得无父 QWindow的主要内容,如果未能解决你的问题,请参考以下文章
如何设置应用程序的任务栏图标在Windows 7-qt,windows-7,pyqt