Articles of pygobject

Kits webkit con PyGObject en Gtk3

Estoy tratando de cargar una vista de webkit en un hilo diferente al hilo principal de gtk. Veo el ejemplo PyGTK, Threads y WebKit. Modifico ligeramente para soporte PyGObject y GTK3: from gi.repository import Gtk from gi.repository import Gdk from gi.repository import GObject from gi.repository import GLib from gi.repository import WebKit import threading import time […]

Edición de atributos / propiedades de GtkWidget

En la mayoría de las páginas de widgets de pygtk, contienen secciones denominadas ‘Atributos’, ‘Propiedades’ y ‘Propiedades de estilo’. ¿Cómo puedo cambiar estas propiedades y atributos?

Crea un objeto python desde la dirección de memoria (usando gi.repository)

A veces necesito llamar a una función gtk / gobject que solo existe en C, pero devuelve un objeto que tiene un envoltorio de python. Anteriormente utilicé una solución basada en ctypes que funcionaba bien: http://faq.pygtk.org/index.py?req=show&file=faq23.041.htp Ahora que cambié de PyGtk (“import gtk”) a GObject-introspection (“from gi.repository import Gtk”), ¿qué puedo usar en su lugar?

¿Cómo escribir Gtk.CellRenderer personalizado en python y GTK 3?

Debo escribir mi propio procesador de celdas con el botón, se me ocurrió esto: #!/usr/bin/env python3 from gi.repository import Gtk class CellRendererButton(Gtk.CellRenderer): def __init__(self): Gtk.CellRenderer.__init__(self) def get_size(self, widget, cell_area): buttonHeight = cell_area.height buttonWidth = buttonHeight return (0, 0, buttonWidth, buttonHeight) def render(self, window, widget, background_area, cell_area, expose_area, flags): style = widget.get_style() x, y, buttonWidth, buttonHeight […]

Cargar GUI desde un Glade con GtkSourceView en PyGObject

Estoy tratando de usar un archivo Glade que tiene un widget GtkSourceView en PyGObject. He escrito una pequeña guía sobre cómo comenzar a usar el nuevo GtkSourceView 3.0 en Glade: http://cjenkins.wordpress.com/2012/05/08/use-gtksourceview-widget-in-glade/ El problema es cuando quiero cargar ese Glade desde PyGObject: from gi.repository import Gtk, GtkSource from os.path import abspath, dirname, join WHERE_AM_I = abspath(dirname(__file__)) […]

¿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: […]