把窗户放在前面 ->raise(),show(),activateWindow() 不起作用

Bring window to front -gt; raise(),show(),activateWindow() don’t work(把窗户放在前面 -raise(),show(),activateWindow() 不起作用)
本文介绍了把窗户放在前面 ->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() 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to get a list video capture devices NAMES (web cameras) using Qt (crossplatform)? (C++)(如何使用 Qt(跨平台)获取列表视频捕获设备名称(网络摄像机)?(C++))
How to compile Qt as static(如何将 Qt 编译为静态)
C++ over Qt : Controlling transparency of Labels and Buttons(C++ over Qt:控制标签和按钮的透明度)
How to know when a new USB storage device is connected in Qt?(Qt如何知道新的USB存储设备何时连接?)
What is an event loop in Qt?(Qt 中的事件循环是什么?)
How to implement a video widget in Qt that builds upon GStreamer?(如何在基于 GStreamer 的 Qt 中实现视频小部件?)