0

我的代码看起来像

from gi.repository import PangoCairo
from gi.repository import Gtk

class Column(Gtk.DrawingArea):
    getContext = lambda self: PangoCairo.create_context(self.get_window().cairo_create())

    ...

        cr = self.getContext()        
        cr.rectangle(0, 0, w, h)

我得到这个错误:

AttributeError: 'Context' object has no attribute 'rectangle'

该方法rectangle在 PyGTK(cairo.Context 和 pango.Context)中被调用
但我在 gtk3 C 文档中搜索,似乎它应该是draw_rectangle
并且它们都不存在于 Python

4

1 回答 1

0

我错了
rectangle存在于cairo.Context但不存在于pango.Context

我使用pango.Context 是因为我找不到 现在我看到该方法也不在 show_layout对象 中 我们必须使用无界方法cairo.Context
pango.Context
PangoCairo.show_layout

概括:

cr = self.get_window().cairo_create()
cr.rectangle(0, 0, w, h)
PangoCairo.show_layout(cr, layout)
于 2013-09-15T03:01:39.780 回答