0

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

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

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

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

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

提前致谢!

4

1 回答 1

1

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

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

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

要绘制GtkDrawingArea,您将使用expose-eventGTK 2 上的draw信号和 GTK 3 上的信号。

于 2012-12-12T14:40:51.500 回答