web-dev-qa-db-fra.com

Ouvrir les fenêtres de dialogue personnalisées (PyGTK + rapidement)

Je viens de télécharger rapidement, créé un nouveau projet, mis en place une interface graphique simple et créé une nouvelle boîte de dialogue (ajouter rapidement créer une boîte de dialogue (comme vous pouvez le voir, je l'ai appelé créer)) . J'ai déjà un gestionnaire de clics dans la fenêtre principale mais je ne sais pas comment ouvrir mon CreateDialog à partir de là.

P.S. Je suis nouveau sur PyGTK, Glade et Quickly mais je ne suis pas nouveau sur la programmation en général.

2
Pijusn

Vous devez d'abord saisir l'objet de l'interface de dialogue. Si je me souviens bien, utilise rapidement glade pour l'interface graphique, puis le charge via GtkBuilder, donc. Récupère l'objet de l'interface de dialogue à partir du générateur

dia = self.builder.get_object('the_name_of_the_dialog_in_glade')

puis vous pouvez l'exécuter

return_value = dia.run()

la valeur de retour sera un code qui correspond au bouton sur lequel vous avez appuyé (que vous pouvez changer vous-même en clairière) ou un autre code pour vous dire si la fenêtre a été détruite.

J'espère que cela aide.

2
TLE

Vous pouvez également essayer de consulter l'aide de la commande add. Vous pouvez effectuer l'une de ces actions:

  • invoquez le quickly help add commande
  • invoquez le quickly tutorial commande et accédez à la référence de commande add

De la sortie de quickly help add

Par exemple, "ajouter rapidement la boîte de dialogue nom-boîte de dialogue" créera:

  1. Une sous-classe de Gtk.Dialog appelé DialogNameDialog dans le module DialogNameDialog.py
  2. Un fichier clair appelé DialogNameDialog.ui dans le répertoire media/ui
  3. Un fichier catalogue appelé * dialog_name_dialog.xml * également dans le répertoire media/ui

Pour modifier l'interface utilisateur de la boîte de dialogue, exécutez: $ quickly design

Pour modifier le comportement, exécutez: $ quickly edit

Pour utiliser la boîte de dialogue, vous devez l'invoquer à partir d'un autre fichier python:

# 1. Import the dialog
import DialogNameDialog

# 2. Create an instance of the dialog
dialog = DialogNameDialog.DialogNameDialog()

# 3. Run the dialog and hide the dialog
result = dialog.run()
dialog.hide()
6
David Planella