【问题标题】:Is it possible to make graphics created in cairo/GTK+ clickable?是否可以使在 cairo/GTK+ 中创建的图形可点击?
【发布时间】:2013-11-30 18:41:18
【问题描述】:

我知道在 GTK+ 中您可以创建按钮、事件等,但是有没有办法让您在 cairo(假设您画一个圆圈)中创建的东西成为可点击的按钮?我想我对 GTk 和 cairo 之间的关系感到困惑。

【问题讨论】:

    标签: gtk pygtk cairo pycairo


    【解决方案1】:

    Cairo 是一个提供绘图 API 的 2D 图形库,GTK+ 使用 Cairo 来绘制自己,对于单击使用 Cairo 制作的项目,您可能想看看像 GooCanvas [1] 这样的 Canvas,它支持自省,因此您可以也可以从 Python 中使用它(pygobject 3)[2]

    使用 GooCanvas 创建的项目 [3] 支持事件并在下方使用 Cairo 绘制,因此您可以绘制一个圆圈 [4] 并根据需要使用事件。

    1. https://wiki.gnome.org/Projects/PyGObject
    2. https://wiki.gnome.org/action/show/Projects/PyGObject?action=show&redirect=PyGObject
    3. https://developer.gnome.org/goocanvas/unstable/GooCanvasItem.html
    4. https://developer.gnome.org/goocanvas/unstable/GooCanvasEllipse.html

    【讨论】:

      【解决方案2】:

      正如 giamt 所说,您需要一个画布。对于 GTK 2,GooCanvas 可能会有所帮助。对于 GTK 3(甚至可能是 GTK 2),Clutter 可能是首选。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-24
        • 2018-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-26
        相关资源
        最近更新 更多