PyQt Focus De Fenêtre

Je suis en train de donner le focus à une fenêtre si l'utilisateur clique sur une autre fenêtre.

Droit maintenant, j'ai deux fenêtres: la Fenêtre de Une est derrière, et la Fenêtre B est en face. Lorsque la Fenêtre apparaît, il désactive la Fenêtre de A. Maintenant, ce que je veux, c'est que chaque fois que l'utilisateur clique en dehors de la Fenêtre de B, il doit donner le focus à la Fenêtre B.

Voici le code de la Fenêtre B:

class window_b(QtGui.QDialog):
    def __init__(self,parent=None):
        super(window_b, self).__init__(parent)
        window_a.setEnabled(False)
        self.ui = Ui_Form_window_b()
        self.ui.setupUi(self)
        self.setFocusPolicy(QtCore.Qt.StrongFocus)

    def focusOutEvent(self,event):
        self.setFocus(True)
        self.activateWindow()
        self.raise_()
        self.show()

J'ai essayé setFocus et activateWindow, mais cela n'a pas donner le focus à la Fenêtre B.

Des suggestions?

Aimeriez-vous ce comportement à l'égard de toutes les autres fenêtres ou seulement à la Fenêtre A. Si vous voulez que le dernier que vous pourriez faire de Fenêtre B une fenêtre modale en.wikipedia.org/wiki/Modal_window. Fenêtre alors B est un enfant de la Fenêtre qui par la suite ne peut pas être porté, aussi longtemps que la Fenêtre B est ouvert.

OriginalL'auteur Uahmed | 2012-09-05