如果不求助于 WindowStaysOnTopHint,就无法让小部件出现在 Houdini 上

发布于 2024-11-15 18:57:54 字数 319 浏览 1 评论 0原文

我正在从 3D 应用程序 (Houdini) 启动一个小部件,而我能够可靠地使小部件保持在顶部的唯一方法是...

setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

...但是,它仍然在顶部不管。有时我可以设置 Qt.Window 标志并获得所需的行为,即小部件出现在顶部,但随后可以升高或降低......但我无法始终如一地获得此行为。

该小部件不是 Houdini 应用程序的子级,它作为独立运行;因此,我不希望 raise() setActiveWindow() 等产生效果。

想法?

-谢谢

I'm launching a widget from a 3D application (Houdini) and the only way I can reliably get the widget to remain on top is to...

setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

...however, it then remains on top regardless. At times I can instead set the Qt.Window flag and get the desired behavior, ie the widget appears on top but can then be raised or lowered...but I cannot get this behavior consistently.

The widget is not a child of the Houdini application, It's running as a standalone; consequently, I don't expect raise() setActiveWindow(), etc to have an effect.

Thoughts?

-Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风和你 2024-11-22 18:57:54

由于允许应用程序强制自己进入前台通常被认为是不好的形式,因此您在 Qt 中找不到任何可靠的方法来执行此操作。不过,有一些特定于操作系统的方法,您可以通过搜索“​​qt active foreground”。

Since it is generally considered bad form to allow applications to force themselves to the foreground, you won't find any reliable way to do this in Qt. There are some OS specific methods though and you can find most of them on this site by searching for "qt active foreground".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文