2017-01-09 11 views

ответ

0

Я использую QMainWindow вместо QWidget, то я переопределить focusInEvent и focusOutEvent события.

#!/usr/bin/python3 
# -*- coding: utf-8 -*- 

from PyQt5.QtWidgets import QMainWindow, QApplication 
from PyQt5.QtCore import Qt 
from sys import argv, exit 

class Window(QMainWindow): 
    def __init__(self): 
     super(Window, self).__init__() 
     self.setFocusPolicy(Qt.StrongFocus) 

    def focusInEvent(self, event): 
     print('focusInEvent') 
     self.setWindowTitle('focusInEvent') 
     self.showMinimized() 

    def focusOutEvent(self, event): 
     print('focusOutEvent') 
     self.setWindowTitle('focusOutEvent') 
#  self.showMinimized() 

if __name__ == '__main__': 
    app = QApplication([]) 
    w = Window() 
    w.showMinimized() 
    exit(app.exec_()) 
+0

В чем смысл использования окна, если вы его никогда не показываете? Почему бы просто не использовать значок [значок в системном трее] (https://doc.qt.io/qt-5/qsystemtrayicon.html)? – ekhumoro

+0

ekhumoro Я использовал его, но я не пишу код для упрощения кода – ZiTAL

1
app = QtWidgets.QApplication([]) 
w = QtWidgets.QWidget() 
w.showMinimized() 
+0

Если я нажимаю 'ALT + TAB' я могу увидеть приложение с окном, есть какое-то событие, чтобы поймать и положить' w.showMinimized() 'тоже? – ZiTAL

 Смежные вопросы

  • Нет связанных вопросов^_^