Claro, no no use hilos, aun no los manejo bien, me ayude con un script q andaba rodando x la internet look
Código Python:
Ver original# Proof of concept for PyGTK+Pygame
# Seo Sanghyeon
import os, pygame, gtk
import random
def pygame_hack(widget):
def callback(widget, *args):
handle = widget.window.handle
size = widget.size_request()
os.environ['SDL_WINDOWID'] = str(handle)
pygame.display.init()
pygame.display.set_mode(size)
widget.connect('map-event', callback)
def fill_random(widget):
screen = pygame.display.get_surface()
r = random.randrange(255)
g = random.randrange(255)
b = random.randrange(255)
screen.fill((r, g, b))
pygame.display.flip()
def main():
win = gtk.Window()
win.connect('destroy', gtk.main_quit)
box = gtk.VBox()
win.add(box)
custom = gtk.DrawingArea()
custom.set_size_request(300, 200)
pygame_hack(custom)
box.pack_start(custom)
button = gtk.Button('Random fill')
button.connect('clicked', fill_random)
box.pack_start(button)
win.show_all()
gtk.main()
if __name__ == '__main__':
main()
Basicamente encapsula un area de dibujo en una vbox y con esto
os.environ['SDL_WINDOWID'] = str(handle)
obliga a pygame a ejecutarce en la ventana del widget de dibujo, pero si lo ejecutas fijate q el area de SDL se queda suspendida arriba y si se mueve la ventana de PyGtk la de SDL continua suspendida y no se mueve con la ventana PyGtk(a no ser q lo amplies a pantalla completa)
pero estoy seguro q tibia utiliza algun tipo de GUI propia para su chat pues no tiene apariencia de textbox, simplemente al hacer select con el mouse deben obtener d alguna manera el texto dibujado
Saludos ;)