web-dev-qa-db-fra.com

Créer une nouvelle instance de la fenêtre principale, python gtk

Je suis assez nouveau pour python et gtk et j'écris une application pour la confrontation d'applications Ubuntu en utilisant rapidement. Je veux créer une nouvelle instance de la fenêtre principale lorsque l'utilisateur clique sur 'Nouveau' .

J'ai le bouton et l'élément de menu liés, c'est-à-dire que je peux le faire imprimer `` nouveau '' sur la ligne de commande lorsqu'ils sont cliqués. Cependant, j'ai cherché et je ne trouve pas comment créer une nouvelle instance.

2
Luke

Si vous souhaitez démarrer une nouvelle fenêtre de votre application dans le même processus, vous pouvez simplement créer une nouvelle instance de la classe de fenêtre créée rapidement pour vous.

Mon application s'appelle rapidement-gtk, et dans le python ./quickly_gtk/init.py j'ai les lignes suivantes (au bas du fichier):

# Run the application.    
window = QuicklyGtkWindow.QuicklyGtkWindow()
window.show()

Si vous appelez à nouveau cela, il démarre une nouvelle instance de votre fenêtre principale. Cependant, le code produit rapidement est vraiment destiné à exécuter une instance de cette fenêtre à la fois, vous aurez donc des effets secondaires que vous devrez coder.

Par exemple, connecte rapidement l'événement de fermeture de fenêtre à un rappel qui met fin à l'ensemble de votre processus. Si vous avez plusieurs fenêtres, vous devrez remplacer la méthode on_destroy() de votre fenêtre. Il y aura probablement d'autres problèmes auxquels vous vous heurterez.

2
mhall119