PyQt对话框activateWindow()有效,但在其父窗口打开时无效

时间:2018-11-13 18:50:32

标签: python-2.7 pyqt4

我们的PyQt应用程序的对话框是从Windows资源管理器窗口调用的,自然应该在创建时跳到最前面。这在真空中非常有用-使用以下代码,对话框窗口成功跳到资源管理器窗口的前面:

def bring_to_foreground(qwidget):
    qwidget.show()
    qwidget.raise_()
    qwidget.activateWindow()

但是,当应用程序的主窗口(是对话框窗口的父窗口)打开时,对话框窗口不能跳到最前面。

任何人都可以解释这种行为吗?

从PyQt4 documentation中,我可以看到:

  

在Windows上,如果您在应用程序当前不是活动的应用程序时调用它,则它将不会使其成为活动的窗口。它将更改任务栏条目的颜色,以指示窗口已经过某种更改。这是因为Microsoft不允许应用程序中断用户在另一个应用程序中当前正在执行的操作。

我想这回答了我的问题,但是为什么我们的功能在其余时间正常工作?

0 个答案:

没有答案