Próbuję utworzyć skrypt w języku Python, który wykorzystuje moduł wieloprocesowy do tworzenia 2 (lub więcej) okien GTK. Uderzam w ścianę, jak się wydaje. Oto kod i błędy Dostaję:Python - procesor wielkoformatowy z 2 okienkami gtk
p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
oraz:
def tiny_gtk_process():
import gtk
window = gtk.Window()
window.set_size_request(800,600)
window.show_all()
gtk.main()
większość czasu otrzymuję:
multiwin.py: Błąd krytyczny IO 0 (Sukces) na serwerze X: 0.0. python: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy-> last_request_read) - (long) (dpy-> request)) < = 0) 'nie powiodło się.
Czasami dostaję:
multiwin.py: Fatal error 11 IO (Zasoby chwilowo niedostępne) na serwerze X: 0.0.
Czy problem dotyczy pętli gtk? Czy ich przetwarzanie wielopoziomowe nie powoduje ich izolacji?
Wszelkie pomysły byłyby bardzo pomocne.
Czy na pewno chcesz użyć trybu wieloprocesowego, czy po prostu chcesz mieć 2 okna? – liberforce
Naprawdę potrzebuję tego w osobnych procesach. –
Czy importujesz gtk do skryptu wywołującego? Byłem w stanie odtworzyć twój problem, gdy miałem wywoływanie gtk w skrypcie wywołującym, ale nie po usunięciu go, a import jest tylko w funkcji tiny_gtk_process. – bohrax