У меня есть виджет Gtk.Image в окне, и он должен менять изображение через некоторое время. запустить его в потоке функции нижеPython GTK Image, Change Image Постоянно не получает изображения после многократного использования
def dinChangeBg(self,_Timing):
tm.sleep(int(_Timing))
## Verifica se a janela ainda existe
if not(self.Runing):
thread.exit()
bg = "image/background"+str(self.bgIndex)+".jpg"
if not (os.path.isfile(bg)):
print(bg,"bg inesistente")
self.bgIndex = 1
bg = "image/background"+str(self.bgIndex)+".jpg"
if(os.path.isfile(bg)):
print("new bac", bg)
pbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(bg, self.Window.get_size()[0],self.Window.get_size()[1], preserve_aspect_ratio=False)
self.image.clear()
self.image.set_from_pixbuf(pbuf)
self.bgIndex += 1
self.dinChangeBg(int(_Timing))
вызова резьбы является:
_thread.start_new_thread(dinChangeBg,(60,))
через некоторое время никаких изменений больше изображение и изображение desappears, печать продолжает показывать изображение если он существует.
У кого-то есть идея об ошибке?
после попробовать его, Gtk.Window не показывать, действовать как будет открыть с тенью, автобус шоу ничего, я начал GLib нить, и делать GLib.idle_add (dinChangeBg, 60), это начать Тат протектора perfetly но window dont show – user7331387
Мне нужно будет увидеть полный код. – andlabs
У меня есть цикл while и time.sleep в потоке, и он прерывает программу. я изменил поток, и теперь он работает нормально. благодаря – user7331387