dut*_*ega 36 c++ qt focus window-management active-window
当用户没有使用第二台显示器时,我正在使用Qt库在第二台显示器上显示幻灯片.一个例子是用户在第一个监视器中玩游戏并在第二个监视器中显示幻灯片.
问题是,当我在Qt中打开一个新窗口时,它会自动窃取前一个应用程序的焦点.有没有办法防止这种情况发生?
dut*_*ega 63
我花了一段时间才找到它,但我找到了它: setAttribute(Qt::WA_ShowWithoutActivating);
这会强制窗口不激活.即使有Qt::WindowStaysOnTopHint旗帜
如果要制作浮动预览框/任何其他小部件,请在下面使用
thumbnail = new QLabel;
thumbnail->setAttribute(Qt::WA_ShowWithoutActivating);
thumbnail->setParent(0);
thumbnail->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
Run Code Online (Sandbox Code Playgroud)
Qt :: Tool是使其工作的重要标志。我的意思是不偷重点。
| 归档时间: |
|
| 查看次数: |
21269 次 |
| 最近记录: |