【问题标题】:Creating Clickable areas on screen with PyGtk使用 PyGtk 在屏幕上创建可点击区域
【发布时间】:2012-11-29 08:25:59
【问题描述】:

大家好,我遇到了一个我不知道如何解决的问题。我刚刚遇到了一个使用 PyGtk 在 python 中设计 GUI 的团队。

我需要制作一个在屏幕上具有可点击区域的 GUI。我需要将屏幕分成 12 个相等的区域,中间有一个正方形。像这样:http://imgur.com/PMT3m

我考虑过使用按钮,但按钮是矩形的。是否可以制作与图片中显示的形状不同的按钮?如果我可以改变窗口的大小,这些按钮会调整大小吗?

我想到的另一个选项是创建一个动作监听器来监听鼠标点击,收集关于点击的位置数据,然后根据它所在的区域调用特定的方法。在这个方法中,我需要使用不理想的静态图像作为背景。如果可能的话,我想让它具有抵抗力。

以前有人做过这样的事情吗?如果是这样,您使用了什么方法?我不需要一些人为我编写代码我只需要帮助开始。哪种方法看起来更理智?我没有很多使用其他 python GUI 工具的经验,所以我愿意接受其他建议,例如 pyQt 或 wxPython。

提前致谢!

【问题讨论】:

    标签: python user-interface gtk pygtk custom-component


    【解决方案1】:

    如果您只需要获得点击反馈,那么使用GtkDrawingArea 并在那里监听鼠标点击就足够了。您不需要为此使用静态图像,您可以使用cairo 并根据绘图区域的大小自己绘制形状,以便始终具有您想要的形状。

    但是,如果您计划在那里使用大量鼠标交互(拖放形状等),那么使用像 GooCanvas 这样的画布将是首选方式。

    请注意,pyGTK 仅适用于 GTK 2,可在 Linux 和 Windows 下使用,但它已被用于 GTK 3 的 pyGObject 淘汰(在 Linux 上,因为目前没有适用于 Windows 的官方多合一安装程序)。

    要绘制GtkDrawingArea,您将在GTK 2 上使用expose-event 信号,在GTK 3 上使用draw 信号。

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多