Я пробовал много, и я продолжаю терпеть неудачу. Это будет очень легко для людей с графическим интерфейсом. Просьба привести несколько примеров или восстановление моего кода.Python GTK обновляет изображение в неподвижном контейнере (noob at GTK)
Я пытаюсь создать что-то похожее на Конки (теперь это не вариант). Полноэкранное окно для отображения информации, такой как текст и изображения на рабочем столе. Мне нужна помощь с скелетом скрипта gtk. Я хочу возможность отображать на диске несколько изображений (в произвольной позиции), которые обновляются каждые 10 минут, а также текст из файлов или команд.
сейчас у меня есть это:
#!/usr/bin/python
import gtk
import sys
import cairo
def transparent_expose(widget, event):
""" Make the given widget transparent. """
cr = widget.window.cairo_create()
cr.set_operator(cairo.OPERATOR_CLEAR)
region = gtk.gdk.region_rectangle(event.area)
cr.region(region)
cr.fill()
return False
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Fixed")
self.set_size_request(1300, 280)
self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
self.set_position(gtk.WIN_POS_CENTER)
screen = self.get_screen()
rgba = screen.get_rgba_colormap()
self.set_colormap(rgba)
self.set_app_paintable(True)
self.connect("expose-event", transparent_expose)
def wetherchart(self):
try:
self.thessaloniki = gtk.gdk.pixbuf_new_from_file("/dev/shm/WEATHER/Thessaloniki.comb.png")
except Exception, e:
self.thessaloniki = gtk.gdk.pixbuf_new_from_file("/home/athan/LOGs/wait.svg")
try:
self.katerini = gtk.gdk.pixbuf_new_from_file("/dev/shm/WEATHER/Katerini.comb.png")
except Exception, e:
self.katerini = gtk.gdk.pixbuf_new_from_file("/home/athan/LOGs/wait.svg")
try:
self.florina = gtk.gdk.pixbuf_new_from_file("/dev/shm/WEATHER/Florina.comb.png")
except Exception, e:
self.florina = gtk.gdk.pixbuf_new_from_file("/home/athan/LOGs/wait.svg")
self.thessaloniki = self.thessaloniki.scale_simple(505,240,gtk.gdk.INTERP_BILINEAR)
self.katerini = self.katerini.scale_simple(505,240,gtk.gdk.INTERP_BILINEAR)
self.florina = self.florina.scale_simple(505,240,gtk.gdk.INTERP_BILINEAR)
image1 = gtk.Image()
image2 = gtk.Image()
image3 = gtk.Image()
image1.set_from_pixbuf(self.thessaloniki)
image2.set_from_pixbuf(self.katerini)
image3.set_from_pixbuf(self.florina)
fix = gtk.Fixed()
fix.put(image1, 515, 3)
fix.put(image2, 1025, 3)
fix.put(image3, 5, 3)
self.add(fix)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
#gtk.main()
def main():
gtk.main()
return 0
if __name__ == "__main__":
app = PyApp()
app.wetherchart()
#~
#~ backups=Backups()
#~ gtk.timeout_add(15* 1000, backups.update)
#~
#~ calendar=Calendar()
#~ gtk.timeout_add(1 * 1000, calendar.update)
#~
#~ disks=Disks()
#~ gtk.timeout_add(5 * 60 * 1000 , disks.update)
#~
#~ events=Events()
#~ gtk.timeout_add(10 * 1000 , events.update)
#~
#~ process = Process()
#~ gtk.timeout_add(int(0.5 * 1000), process.update)
#~
#~ running = Running()
#~ gtk.timeout_add(60 * 1000, running.update)
#~
#~ temps = Temps()
#~ gtk.timeout_add(int(2 * 1000), temps.update)
#~
#~ transmision = Transmision()
#~ gtk.timeout_add(int(1 * 1000), transmision.update)
main()
он работает нормально, но я не смог сделать его обновить изображения. Буду признателен за общее решение для размещения и обновления нескольких изображений и текстовых меток.
Спасибо за помощь!
http://stackoverflow.com/questions/11819952/how-to-display-continuous-data-in-a-py-gtk-window – dsgdfg
Я пробовал это, мне не удалось заставить его работать me –
http://stackoverflow.com/questions/13938949/pygtk-how-to-update-gtk-обрать свою работу! я тестировал. надеюсь, полезный – dsgdfg