Python& PyQt:捕捉最小化事件

时间:2015-12-12 14:54:50

标签: python events pyqt

呃......有人可以帮帮我吗?我似乎无法捕捉到我创建的小部件的最小化事件。我从我能找到的每个帖子中尝试了解决方案,但它似乎与我的代码无关。在我尝试的其中一个解决方案中,窗口最小化并显示系统托盘图标,但任务栏上仍然可以看到应用程序图标。我似乎无法弄清楚我应该做什么或我在这里失踪了什么。我使用的是Python 2.7和PyQt 4.11。我的操作系统是Windows 7,因此我非常确定它不是操作系统问题。如果有人能在这里帮助我,我真的很感激。

这是代码。

int m,n,j;
int perfect = 0;
int mis_match=0;
for (m=0;m<4;m++)
{
  if(A[m]=B[m])
     perfect++;
     A[m]==B[m]=-1;
  else 
     for (n=0;n<4;n++)
     {
        for (j=0;j<4;j++)
        {
           if(A[n]== B[j])
           mis_match++;
           break;
         }
     }
    printf("we have %d perfect matches, %d mismatches", perfect,mis_match);
    return 0;

2 个答案:

答案 0 :(得分:2)

您可以使用changeEvent提供的QWidget

def changeEvent(self, event):
    if event.type() == QEvent.WindowStateChange:
        if self.windowState() & Qt.WindowMinimized:
            pass

答案 1 :(得分:0)

此代码应该可以使用

def changeEvent(self, event):
    if event.type() == QEvent.WindowStateChange:
        if event.oldState() and Qt.WindowMinimized:
            print("WindowMinimized")
        elif event.oldState() == Qt.WindowNoState or self.windowState() == Qt.WindowMaximized:
            print("WindowMaximized")