- All (478)
- jom (0)
- Qt Linguist (7)
- Qt Eclipse Integration (9)
- Qt Designer (7)
- Qt Creator (4)
- Qt build system: qmake (31)
- Qt build system: configure (3)
- Qt Assistant (5)
- Printing (4)
- Porting from Qt 3 to Qt 4 (1)
- Plugins (7)
- Qt Visual Studio AddIn (2)
- Qt/MFC Migration (2)
- QtScript (3)
- MDI (2)
- XML (1)
- Widgets (22)
- WebKit (5)
- Tools and Containers (2)
- Threads (2)
- Text Handling (10)
- SQL (6)
- QtTest (1)
- QtService (1)
- Platform: Windows (49)
- Platform: Unix (16)
- Platform: Mac OS X (18)
- Image Formats (2)
- I/O (2)
- Graphicsview (8)
- Font handling (9)
- Event System (18)
- Drag and Drop (4)
- Dialogs (6)
- Desktop integration (3)
- ActiveQt (3)
- Itemviews (60)
- Layout (4)
- Qt Quick (10)
- Qt SDK (1)
- Licensing (2)
- Platform: Embedded Linux (38)
- Painting (32)
- OpenGL (4)
- Object Model (6)
- Network (5)
- Multimedia (3)
- Miscellanous (23)
- Main Window (19)
- Look and Feel (23)
- Development (0)
- Getting Involved (0)
- Routines (0)
QWidget ::activateWindow() - behavior under windows
The documentation for QWidget::activateWindow() [doc.qt.nokia.com] states:
“On Windows, if you are calling this when the application is not currently the active one then it will not make it the active window. It will change the color of the taskbar entry to indicate that the window has changed in some way. This is because Microsoft does not allow an application to interrupt what the user is currently doing in another application.”
However, there is a workaround for this problem. Namely changing the following registry keys will result in the desired behaviour
- HKEY_CURRENT_USER\Control Panel\Desktop
- ForegroundFlashCount = REG_DWORD 0x00000003
- ForegroundLockTimeout = REG_DWORD 0x00000000
These registry entries can be set using QSettings [doc.qt.nokia.com] .
e.g:
- settings.setValue("ForegroundFlashCount", 3);
- settings.setValue("ForegroundLockTimeout", 0 );
Note that changing these registry settings using QSettings will change them globally on your computer, not only for your application.
A restart of the computer, or a user log-off and relog-on is required after changing the registry keys to make this work.
It has been suggested to add this workaround to the Qt Documentation, see:
http://bugreports.qt.nokia.com/browse/QTBUG-14062

No comments