Si quieres un diseñador de GUI wysiwyg, Glade es tu mejor apuesta:
- primero, instalar
glade
desde el centro de software
cree su GUI, guárdela como, digamos, myapp.glade
Vaya a la pestaña de señales y configure su devolución de llamada, comoon_window1_destroy
En su programa de Python, dígale a GTK que cargue las definiciones de UI
import gtk
class MyApp (object):
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file("myapp.glade")
self.builder.connect_signals(self)
def run(self):
self.builder.get_object("window1").show_all()
gtk.main()
def on_window1_destroy(self, *args):
gtk.main_quit()
MyApp().run()
Después de configurar todo, puede sumergirse directamente en el tutorial de Glade (como Jeremy Kerr mencionó en su respuesta). Comience aprendiendo sobre las diferentes opciones de diseño y señales.
Cuando se sienta cómodo con Glade, puede comenzar a usarlo a través de Quickly, que es un conjunto de programas para hacer que las tareas comunes en el desarrollo de software sean muy fáciles. Se encarga de las traducciones, el almacenamiento de la configuración, el empaquetado, la integración de la plataforma de lanzamiento, incluidos los PPA, y mucho más:
sudo apt-get install quickly
quickly create ubuntu-application hello-world
cd hello-world/
Rápidamente ahora crea un gran proyecto con todo lo que necesita ya configurado. Una interfaz gráfica de usuario , los archivos de traducción, la configuración a través de desktopcouch , etc.
Verá rápidamente configurar algunas ventanas (la aplicación principal, la configuración y un diálogo sobre) para usted. Para comenzar a editar su GUI:
correr quickly design
Para acceder al código de la aplicación, ejecute quickly edit
Ir al HelloWorldWindow.py
archivo
Ahora comience a agregar manejadores de señal y lógica.
Finalmente, para ejecutar su aplicación, escriba quickly run
.
En este punto, puede acceder a la documentación de PyGTK para conocer las señales, las firmas de sus manejadores, los diferentes métodos de widgets, etc.
Vea también algunas preguntas relacionadas: