4

最简单的例子。我们通过 Gtk 创建一个窗口,我们在其中添加 Gtk.DrawingArea 的绘图区域,并在其上通过 Cairo 绘制文本。

例子:

#!/usr/bin/env python
from gi.repository import Gtk
import cairo

class MyWindow (Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title='MyWindow')

        darea = Gtk.DrawingArea()
        darea.connect('draw', self.on_draw)
        self.add(darea)

    def on_draw(self, widget, ctx):
        ctx.set_source_rgb(0, 0, 0)
        ctx.select_font_face("Sans", cairo.FONT_SLANT_NORMAL,
            cairo.FONT_WEIGHT_NORMAL)
        ctx.set_font_size(20)
        ctx.move_to(10, 20)
        ctx.show_text("Text...")

win = MyWindow()
win.connect('delete-event', Gtk.main_quit)
win.show_all()
Gtk.main()

在我看来,Python 2.7 上的一切都完美无缺,但只需要为 Python3 更改 Python 并且不再绘制文本。可能有什么问题?

4

1 回答 1

3

有同样的问题...事实证明,如果您丢失了一些包裹,您将不会收到任何投诉。

尝试 apt-get install python3-gi-cairo 并再试一次。为我工作(包括你的代码)。

于 2013-01-18T19:37:52.197 回答