2009-09-11 11 views
2

Je commence juste à apprendre Glade avec pyGTK. Puisque Glade fabrique des fichiers XML à la place du code Python, y a-t-il un bon moyen de démarrer un projet avec Glade, puis de le coder à la main ou de le modifier?Modification d'une interface graphique démarrée avec Glade

Y a-t-il des heures ou des raisons pour lesquelles il serait préférable de tout coder à la main au lieu de commencer avec la clairière?

Répondre

4

Les interfaces graphiques créées avec glade sont accessibles dans le code de deux façons: libglade ou gtkbuilder. Je ne peux pas commenter beaucoup sur les différences entre les deux, sauf que gtkbuilder est plus récent; Il y a beaucoup de pages sur google qui montrent comment migrer de libglade à gtkbuilder. En utilisant gtkbuilder, vous pouvez créer votre objet GUI en le récupérant à partir du fichier XML à l'aide de gtkbuilder. Cela crée l'objet avec tous les paramètres que vous définissez dans Glade. Vous avez maintenant un objet GUI que vous pouvez manipuler via son interface habituelle.

builder = gtk.Builder() 
builder.add_from_file(glade_path) 
builder.connect_signals(self) 

main_window = builder.get_object("main_window") 
main_window.show() 

text_box1 = builder.get_object("textbox1") 
text_box1.set_text("enter your name") 

La ligne 3 montre comment les gestionnaires de signaux sont connectés lorsqu'ils sont chargés à partir de la clairière. Essentiellement, il recherche la fonction que vous avez spécifiée pour le signal dans l'interface de glade et qui y est attachée; Si la fonction n'est pas fournie, vous verrez un avertissement sur la ligne de commande.

+0

Merci. C'est très utile. – TimothyAWiseman

2

Que savez-vous de la glade et du pygtk? Glade crée des fichiers XML mais vous les chargez en utilisant gtk.Builder dans python. Vous pouvez facilement modifier tous les widgets que vous avez créés avec Glade en python. Lisez ces tutorials pour comprendre comment le faire mieux. Vous avez juste besoin d'en savoir plus sur le pygtk et la clairière et ce sera évident.

+0

Je sais très peu jusqu'ici, j'ai commencé à jouer avec eux il y a deux jours. J'ai commencé à suivre les tutoriels et j'ai eu l'habitude de faire quelques trucs simples, mais ça a juste été de mettre en place des programmes en ligne de commande, donc ils ne sont pas très sophistiqués. Merci pour le lien. – TimothyAWiseman