我想在Gtk.Image小部件上绘制一些东西。问题是我的绘图必须绘制在原始图片之上。我试过这样做:
image.connect('draw', self.__on_image_draw)
...
def __on_image_draw(self, widget, g):
widget.draw(g)
if self.__in_crop_mode:
g.set_source_rgb(1.0, 0.0, 0.0)
g.set_line_width(2)
g.rectangle(10, 10, 200, 200)
g.stroke()
return True
不幸的是,对widget.draw()的调用崩溃了我的程序。 :P
如何在Gtk.Image小部件中的图片上绘制一些内容?
答案 0 :(得分:0)
使用widget.draw
会导致信号被触发,这会调用你的函数发出信号....要阻止这种情况发生,你需要在调用draw之前断开信号。我认为你只需要调用__on_image_draw一次,这意味着你可以在你的调用上面添加这个来绘制:widget.disconnect_by_func(__on_image_draw)