В этом примере должен отображаться синий квадрат 4x4. К сожалению, у меня черный. Как следует сформировать этот массив байтов, чтобы Pixbuf.new_from_data работал правильно?
Спасибо.
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, GdkPixbuf
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
w, h = 4, 4
data1 = bytearray(b'\
\x00\x00\xff\x00\x00\xff\x00\x00\xff\x00\x00\xff\
\x00\x00\xff\x00\x00\xff\x00\x00\xff\x00\x00\xff\
\x00\x00\xff\x00\x00\xff\x00\x00\xff\x00\x00\xff\
\x00\x00\xff\x00\x00\xff\x00\x00\xff\x00\x00\xff')
pb = GdkPixbuf.Pixbuf.new_from_data(data1, GdkPixbuf.Colorspace.RGB, False, 8, w, h, w*3)
img = Gtk.Image()
img.set_from_pixbuf(pb)
fixed = Gtk.Fixed()
fixed.put(img, 0, 0)
self.add(fixed)
self.set_border_width(20)
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()