Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用PyGtk在屏幕上创建可单击区域_Python_User Interface_Gtk_Pygtk_Custom Component - Fatal编程技术网

Python 使用PyGtk在屏幕上创建可单击区域

Python 使用PyGtk在屏幕上创建可单击区域,python,user-interface,gtk,pygtk,custom-component,Python,User Interface,Gtk,Pygtk,Custom Component,嘿,伙计们,我遇到了一个我不知道如何解决的问题。我刚刚会见了一个使用PyGtk用python设计GUI的团队 我需要做一个GUI,在屏幕上有可点击的区域。我需要把屏幕分成12个相等的区域,中间有一个正方形。像这样: 我想用按钮,但按钮是长方形的。有没有可能制作出与图中所示形状不同的按钮?如果我可以,如果我改变窗口的大小,这些按钮会调整大小吗 我想到的另一个选项是创建一个动作侦听器,用于侦听鼠标单击,收集有关单击的位置数据,然后根据其所在区域调用特定方法。在这种方法中,我将需要使用一个静态图像作为

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

我需要做一个GUI,在屏幕上有可点击的区域。我需要把屏幕分成12个相等的区域,中间有一个正方形。像这样:

我想用按钮,但按钮是长方形的。有没有可能制作出与图中所示形状不同的按钮?如果我可以,如果我改变窗口的大小,这些按钮会调整大小吗

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

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


提前谢谢

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

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

还要注意的是,pyGTK仅适用于GTK 2,在Linux和Windows下可用,但pyGObject已淘汰用于GTK 3(在Linux上,因为目前没有pyGObject for Windows的官方一体式安装程序)

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