把窗户放在前面 ->raise(),show(),activateWindow() 不起作用 [英] Bring window to front -> raise(),show(),activateWindow() don’t work

查看:72
本文介绍了把窗户放在前面 ->raise(),show(),activateWindow() 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的 Qt 应用程序中,我在默认浏览器中打开了一个 URL.之后我想再次将我的应用程序的主窗口放在最前面.

In my Qt-application I open a URL in the default-browser. Afterwards I want to bring the main-window of my application to the front again.

我尝试了我能找到的所有方法,但都没有奏效.它所做的只是在任务栏(Window 7)中闪烁举个例子:

I tried all approaches I could find but none worked. All it does is blink in the taskbar (of Window 7) Here’s an example:

this->viewer->show();
this->viewer->raise();
this->viewer->activateWindow();

*viewer 是一个指向从 QDeclarativeView 派生的 QmlApplicationViewer 的指针

*viewer is a pointer to a QmlApplicationViewer which is derived from QDeclarativeView

推荐答案

此问题特定于 Windows.如果活动窗口属于某个进程,则 Windows 不允许其他进程更改活动窗口.

This problem is specific to Windows. If the active window belongs to some process, then Windows does not allow other processes to change the active Window.

(请勿尝试以下操作:https://wiki.qt.io/Qt_project_org_faq#QWidget_::activateWindow.28.29_-_behavior_under_windows)

(Do not try the following: https://wiki.qt.io/Qt_project_org_faq#QWidget_::activateWindow.28.29_-_behavior_under_windows)

这篇关于把窗户放在前面 ->raise(),show(),activateWindow() 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆