Qt - Фокус на приложении, которое потеряло фокус? - PullRequest
4 голосов
/ 03 июня 2011

Я хотел бы знать, можно ли сфокусироваться на моем приложении, даже если оно потеряло фокус?

В моем приложении запущен поток, и как только я выйду из него, я бы хотел вывести свое оконное приложение на передний план.
Я попробовал следующий код, он работает, чтобы сосредоточиться на виджете, который я хотел бы, но если вы используете Firefox, он просто мигнет один раз на панели задач и не будет фокусироваться: (

this->activateWindow();
this->show();
this->setFocus();

РЕДАКТИРОВАТЬ: Это будет сделано, но я не хочу, чтобы мое приложение оставалось на вершине ... и если я уберу флаг, оно потеряет фокус = /

this->setWindowFlags(Qt::WindowStaysOnTopHint);
this->activateWindow();
this->show();
this->setFocus();

Заранее благодарю за ответы.

1 Ответ

0 голосов
/ 31 июля 2012

попробуй

this->setWindowState(Qt::WindowActive);

у меня это сработало.(Qt 4.8, Windows 7, MinGW 4.4)

РЕДАКТИРОВАТЬ: С тех пор я обнаружил, что это обычно работает, только если окно в настоящее время свернуто.так что если он не работает, попробуйте добавить

this->setWindowState(Qt::WindowMinimized);

перед ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...