我正在尝试使用GUI编写应用程序,这需要画布。我正在使用Python 3和GTK + 3.
我发现,GooCanvas应该适用于此,但是甚至无法安装它或让演示工作。
最近有人使用过GTK + 3这个库吗?我无法找到关于此的讨论,这让我感到惊讶。我错过了什么;有没有更好的画布,我找不到?
答案 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的更新版本(可能在您的发行版存储库中提供)