PyQt - Fenster oberste Ebene machen
Frage
ich brauche, um mein Fenster oberste Ebene zu machen, wenn ich brauche. Code Erstellungsfenster:
class Application(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, None, Qt.Tool | Qt.FramelessWindowHint)
self.setFocusPolicy(Qt.StrongFocus)
self.setAttribute(Qt.WA_QuitOnClose, True)
Und wenn ich brauche ich tun:
self.setWindowFlags(Qt.WindowStaysOnTopHint)
Aber nach diesem Teil des Codes läuft mein Fenster versteckt ... Ich weiß nicht, wo es ist. Aber mein Programm schließt nicht! Hilfe! Wie kann ich mein Fenster oben am meisten Bedarf Moment?
Lösung
Beim .show () oder .raise () auf dem Fenster sollte es oben Fokus machen.
Und vom doc für setWindowFlags () :
Hinweis: Diese Funktion ruft setParent () wenn die Flags für ein Fenster zu ändern, wodurch das Widget versteckt werden. Sie rufen show () muss das Widget zu machen wieder sichtbar ..
Ich wollte nur für jemand anderen hinzufügen, die diese Frage stellt fest, dass die Qt doc für C ++ ist eine sehr gute Ressource selbst wenn PyQt verwenden, so stellen Sie sicher, dass Sie die Version des Qt C ++ doc verweisen, die für Ihre Version gilt der PyQt (Die neueste PyQt kompiliert gegen 4.4, wenn das ist, was Sie verwenden).