我在其中创建了一个带有绘图图像的对话框。该地区正在扩大规模
当我更改对话框大小。当它这样做时,绘图区域粘在顶部而不是垂直对齐。
据我所知,此小部件不支持yalign
,因此我需要AspectFrame
,但是当我添加带有glade的方面框架时,DrawArea
不会显示。< / p>
以下是我的工作代码的相关部分:
class MyDialog(object):
def __init__(self):
self.builder = Gtk.Builder()
self.glade_file = os.path.join(abspath(dirname(__file__)), 'dialog.glade')
self.builder.add_from_file(self.glade_file)
self.builder.connect_signals(self)
# get widgets
self.dialog = self.builder.get_object('dialog')
self.box = self.dialog.get_child()
da = Gtk.DrawingArea()
self.box.pack_start(da, True, True, 0)
da.surface = None
da.connect('draw', self.draw)
da.connect('configure-event', self.configure_event_cb)
代码创建以下内容:
要添加方面框架,我执行了以下操作:
da = Gtk.DrawingArea()
#self.box.pack_start(da, True, True, 0)
self.frame = self.builder.get_object('aspectframe1')
self.frame.add(da)
但这导致DrawingArea
未显示,并出现以下错误:
GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: assertion 'dest_height > 0' failed
Traceback (most recent call last):
File "test_draw4.py", line 134, in configure_event_cb
clear_surface(w, h, widget.surface, self.pb)
File "test_draw4.py", line 29, in clear_surface
Gdk.cairo_set_source_pixbuf(cr, pb, 0, 0)
TypeError: Argument 1 does not allow None as a value
请帮助我DrawingArea