Articles of pygobject

¿Cómo conectarse a una señal GObject en python, sin que mantenga una referencia al conector?

El problema es básicamente este, en los enlaces de objeto y gtk de python. Supongamos que tenemos una clase que se une a una señal cuando se construye: class ClipboardMonitor (object): def __init__(self): clip = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD) clip.connect(“owner-change”, self._clipboard_changed) El problema ahora es que ninguna instancia de ClipboardMonitor morirá nunca . El portapapeles gtk es un […]

¿Cuál es la forma recomendada para probar las aplicaciones de la GUI de Python?

Actualmente soy lo suficientemente tonto como para tratar de mantener dos bases de código paralelas para una aplicación de escritorio Python, una que usa la introspección PyGObject para GTK 3 y la otra que usa PyGTK para GTK 2. Trabajo principalmente en la twig PyGObject y luego transfiero los cambios a la Sucursal PyGTK. Debido […]

Detectar cuándo una ventana GTK ha terminado de mover / redimensionar por el usuario

Quiero detectar cuándo el usuario terminó de cambiar el tamaño o mover la ventana GTK. Básicamente un equivalente de WM_EXITSIZEMOVE en windows. He examinado el tamaño de la ventana de detección de GTK del usuario y puedo detectar cambios de tamaño / ubicación utilizando el evento de configuración; sin embargo, debido a que mi otro […]

PyGObject GTK + 3 – Documentación?

PyGObject parece no tener documentación real. Este tutorial es lo más cercano que se puede conseguir. He estado luchando toda la mañana simplemente tratando de encontrar una descripción de los argumentos aceptados por el constructor Gtk.Window . Parece que no puedo hacer mucha reflexión en Python porque todo en PyGObject se genera dinámicamente. ¡Lo único […]

Importar errores con Python y Gtk + 3.

Estoy trabajando en un progtwig que está escrito en Gtk + 3 y Python . Una pregunta relacionada que hice sobre mi progtwig está aquí . Ahora, que avancé un poco más, tengo las siguientes importaciones: import aplpy import montage import subprocess from gi.repository import Gtk, GdkPixbuf y cuando lo ejecuto me sale este error: […]

Python PyGOobject treeview: confirmar edición después de moverse entre celdas con la tecla Tab

Después de buscar durante mucho tiempo, encontré una solución (bastante simple) para moverme entre las celdas de una cuadrícula de vista de árbol usando la tecla Tab y manteniendo las celdas en el modo de edición. Ahora tengo un problema: la confirmación de edición de celda solo ocurre después de presionar la tecla Intro. Si […]

El atributo de posición de Gtk 3 en la señal de inserción de texto de Gtk.

Tengo problemas para administrar la señal de inserción de texto emitida por el widget Gtk.Entry. Considere el siguiente ejemplo: from gi.repository import Gtk def on_insert_text(entry, new_text, new_text_length, position): print(position) entry = Gtk.Entry() entry.connect(‘insert-text’, on_insert_text) window = Gtk.Window() window.connect(“destroy”, lambda q: Gtk.main_quit()) window.add(entry) window.show_all() Gtk.main() El atributo de posición que estoy recibiendo en el manejador de […]

¿Cómo crear un menú completo utilizando acciones GIO en PyGI GTK?

Estoy tratando de convertir la barra de menú en mi aplicación Gtk para que use GActions (de Gio) a diferencia de GtkActions en Python3 usando GObject Instrospection. He estado tratando de resolverlo por mi cuenta pero hasta ahora parece muy complicado y no tuve mucha suerte con eso. Si alguien puede publicar un ejemplo de […]

¿Cómo enviar comandos al terminal virtual de pygobject?

Ahora mismo puedo hacer un terminal pero la salida no se usa como comando. Simplemente imprime una cadena al terminal virtual. from gi.repository import Gtk, GObject, Vte class TheWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title=”inherited cell renderer”) self.set_default_size(400, 200) box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) v = Vte.Terminal() #v.connect (“child-exited”, lambda term: gtk.main_quit()) length = len(“echo \”string\”\n”) v.feed(“echo \”string\”\n”, length) […]

PyGTK + 3 (PyGObject) para crear captura de pantalla?

He pasado los últimos 3 días buscando en google, ¿cómo puedo crear una captura de pantalla con PyGTK + 3? Hay tutoriales de gallizion sobre pyqt, pygtk + 2, wx y PIL. Por cierto, no necesito progtwigs externos como scrot, imlib2, imagemgick, etc.