将GooCanvas与Python 3和GTK +一起使用

时间:2017-03-22 20:29:15

标签: python-3.x canvas gtk3

我正在尝试使用GUI编写应用程序,这需要画布。我正在使用Python 3和GTK + 3.

我发现,GooCanvas应该适用于此,但是甚至无法安装它或让演示工作。

最近有人使用过GTK + 3这个库吗?我无法找到关于此的讨论,这让我感到惊讶。我错过了什么;有没有更好的画布,我找不到?

1 个答案:

答案 0 :(得分:0)

Gtk3的版本是GooCanvas-2.x。 GooCanvas仍然存在一些小问题,其外观是Introspection。这是“现代”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))

存储库系统需要一些时间来习惯,但有很多好处。 据我所知,没有“更好”的画布可供选择。你可以直接使用Cairo,但GooCanvas会处理很多烦人的事情,比如自动重绘画布。

修改

  

ImportError:无法导入名称GooCanvas,内省类型库不能   结果

这意味着您的内省安装尚未完成。我怀疑你错过了Python中的'pgi'模块。 (pip3 install pgi),可能还有PyGObject的更新版本(可能在您的发行版存储库中提供)