Помогите, пожалуйста, разобраться.
В gtk есть возможность назначать горячие клавиши для пунктов меню. Для этого надо в ~/.gtkrc-2.0 добавить строку:
Но у меня не получается включить эту возможность для моей программы, интерфейс которой создан в glade.
Создаю окно с помощью glade, у окна есть menubar. Простой пример glade-файла:
И скрипт, которым открываю glade:
Как добавить определение/переобозначение горячих клавиш для пунктов меню?
В gtk есть возможность назначать горячие клавиши для пунктов меню. Для этого надо в ~/.gtkrc-2.0 добавить строку:
gtk-can-change-accels=1
Но у меня не получается включить эту возможность для моей программы, интерфейс которой создан в glade.
Создаю окно с помощью glade, у окна есть menubar. Простой пример glade-файла:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--Generated with glade3 3.4.5 on Sat Oct 4 13:59:20 2008 -->
<glade-interface>
<widget class="GtkWindow" id="window1">
<property name="visible">True</property>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
<widget class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<child>
<widget class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="label" translatable="yes">_Файл</property>
<property name="use_underline">True</property>
<child>
<widget class="GtkMenu" id="menu1">
<property name="visible">True</property>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem2">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-open</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem3">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-save</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem5">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-quit</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>
И скрипт, которым открываю glade:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import gtk
import gtk.glade
glade_main_window = gtk.glade.XML("menu_test.glade")
main_window = glade_main_window.get_widget("window1")
main_window.connect("delete-event", gtk.main_quit)
gtk.main()
Как добавить определение/переобозначение горячих клавиш для пунктов меню?