PyQt - faire le niveau haut de la fenêtre
Question
Je dois faire mon niveau haut de la fenêtre quand j'ai besoin. Code de la fenêtre création:
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)
Et quand je dois que je fais:
self.setWindowFlags(Qt.WindowStaysOnTopHint)
Mais après l'exécution de cette partie du code de ma fenêtre se cache ... Je ne sais pas où est-ce. Mais mon programme ne se ferme pas! Aidez-moi! Comment puis-je faire mon top de la fenêtre la plus à l'instant besoin?
La solution
Appel .show () ou .raise () sur votre fenêtre doit faire attention dessus.
de la doc pour setWindowFlags () :
Remarque: Cette fonction appelle setParent () lors du changement des drapeaux pour une fenêtre, causant le widget à cacher. Toi doit appeler spectacle () pour le widget nouveau visible ..
Je voulais juste ajouter pour quelqu'un d'autre qui trouve cette question que le doc Qt C ++ est une très bonne ressource, même lors de l'utilisation PyQt, assurez-vous que vous pointez sur la version de Qt C ++ doc qui correspond à votre version de PyQt (Le dernier PyQt est compilé 4.4 si c'est ce que vous utilisez).