0

我知道您需要Gtk.DrawingArea在 PyGObject 中进行子类化才能创建自定义小部件。然后将draw信号连接到如下所示的回调:

def on_draw(drawing_area, cr):
    # do something with cr
    return False

要要求重绘,你会打电话给my_widget.queue_draw().

现在,我知道您可能会要求使用 重绘曲面的特定区域my_widget.queue_draw_area()。当您的on_draw回调在此之后被调用时,您如何知道要绘制的区域?

4

1 回答 1

1

调用虚函数时,draw无效区域已经是强加于开罗上下文的剪辑的一部分。

如果你想知道裁剪区域的范围,你可以使用 python 包装器gdk_cairo_get_clip_rectangle()

于 2014-02-19T12:23:01.800 回答