【问题标题】:PyGObject custom widget: how to draw an invalidated region?PyGObject 自定义小部件:如何绘制无效区域?
【发布时间】:2014-02-19 08:38:48
【问题描述】:

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

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

要请求重绘,请致电my_widget.queue_draw()

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

【问题讨论】:

    标签: python gtk3 pygobject gobject-introspection


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 2018-11-20
      相关资源
      最近更新 更多