我正在为 ubuntu 12.04 制作一个应用程序。我想要做的是在我们右键单击某个选择选项时出现的菜单栏中添加一个选项。
为了更清楚——
通常,当我们选择一些文本并右键单击时,会出现一些选项,例如
剪切
复制
粘贴
,我想添加另一个选项,我该怎么做。
单击该选项时,只需执行另一个应用程序并将所选数据发送到该应用程序。
我将使用 Glade 和 python 进行开发。
你应该先了解一些关于 glade 和 gtk 的基础知识。以下只是注释:
1-在林间空地,您可以使用菜单按钮创建菜单。
2-右键单击它并选择“编辑...”
3-从窗口中可以添加项目。(右侧显示菜单项的名称和类型,左侧显示所选项目的属性,下部显示可以连接到菜单项的信号)
4-现在将菜单项与执行您想要的功能连接(单击该选项时只需执行另一个应用程序并将所选数据发送到该应用程序。)
5-转到您的代码。照常拿菜单。
self.menu = self.builder.get_object("menu")
6-要在右键单击一个对象时弹出菜单,您应该将该对象与执行菜单的函数连接起来(假设它的名称是 :on_button_press ):
def on_button_press(self, treeview, event):
if event.button == 3:
x = int(event.x)
y = int(event.y)
time = event.time
pthinfo = treeview.get_path_at_pos(x, y)
if pthinfo is not None:
path, col, cellx, celly = pthinfo
treeview.grab_focus()
treeview.set_cursor( path, col, 0)
self.popupmenu.popup( None, None, None, event.button, time)
return True