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で完全に機能しますが、PythonをPython3に変更するだけで、テキストは描画されなくなります。何に問題があるのでしょうか?

4

1 に答える 1

3

同じ問題がありました...いくつかのパッケージが不足している場合でも、苦情はありません。

apt-get install python3-gi-cairoを試して、もう一度試してください。私のために働いた(あなたのコードを含む)。

于 2013-01-18T19:37:52.197 に答える