2012-11-14 2 views
4

가장 간단한 예제입니다. 우리는 Gtk를 사용하여 창을 만들고 Gtk.DrawingArea 그리기 영역을 추가합니다. 여기에 카이로를 사용하여 텍스트를 그립니다.Cairo 예제는 Python 2.7에서 작동하지만 Python 3에서는 작동하지 않습니다.

예 :

#!/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() 

모든 것을 완벽하게 파이썬 2.7에서 작동하지만, 단지 그것을 Python3 파이썬을 변경할 필요가 텍스트가 더 이상 그려지지 않습니다. 무슨 문제가있을 수 있습니까?

+0

나를 위해 Ubuntu 12.10에서 Python 3.2.3과 함께 작동합니다. 어느 배포판을 사용하고 있습니까? –

+0

우분투 12.04를 사용합니다. 우분투에서 내가 얼마나 많이 알고있는가? 12.10 파이썬 3은 기본적으로 사용됩니까? 그리고 우분투 12.04에서 파이썬 2.7이 사용됩니다. 수립 된 패키지로 충분하지 않은가? – Wolfgang

답변

3

같은 문제가 있었는데 몇 가지 패키지가 누락 된 경우 불만을 제기합니다.

apt-get python3-gi-cairo을 설치하고 다른 시도해보십시오. 나를 위해 일했습니다 (코드 포함).

+0

RPM 기반 저장소에 해당하는 python3-gi-cairo가 있습니까? –

관련 문제