Gtk3의 버전은 GooCanvas-2.x입니다. GooCanvas에는 사소한 문제가 있지만 인트로 스펙 션이 있습니다. 다음은 '현대'GooCanvas의 아주 단순한 예입니다.
from gi.repository import Gtk, GooCanvas
def main(args):
w = Gtk.Window()
w.connect('destroy', lambda x: Gtk.main_quit())
cv = GooCanvas.Canvas()
cv_root = cv.get_root_item()
rect = GooCanvas.CanvasRect(
parent = cv_root,
stroke_color = 'red',
x = 10, y = 20,
width = 40, height = 30)
w.add(cv)
w.show_all()
Gtk.main()
return 0
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv))
리포지토리 시스템에는 다소 익숙하지만 많은 장점이 있습니다. 아는 한 '더 좋은'캔버스를 사용할 수 없습니다. 카이로를 직접 사용할 수도 있지만 GooCanvas는 캔버스를 자동으로 다시 그리는 것과 같은 여러 가지 귀찮은 작업을 처리합니다.
편집는 :
ImportError: cannot import name GooCanvas, introspection typelib not found
이 반성의 설치가 완료되지 않았 음을 의미합니다. Python에서 'pgi'모듈이 누락 된 것 같습니다. (pip3 install pgi
) 및 가능하면 PyGObject의 업데이트 된 버전 (아마도 배포자 저장소에서 사용 가능)
주어진 링크는 GooCanvas의 GTK + 2 버전을 가리 킵니다. API 참조는 (https://lazka.github.io/pgi-docs/#GooCanvas-2.0)에 있습니다. –