Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Разработка GUI > PyGTK: как сделать поддержку гор. клавиш?


Автор: pento 6.8.2007, 20:33
Хочется реализовать поддержку гор.клавиш (shortcuts) в гуи приложении, например Ctrl-q закрытие приложения.
Уже излазил весь инет и pygtk.org в частности, но не как не получается найти нормальный пример подобного.

Автор: pythonwin 7.8.2007, 06:30
я делал это через glade

Автор: pythonwin 7.8.2007, 07:00
http://www.google.com/search?q=shortcuts+pygtk&hl=ru
http://faq.pygtk.org/index.py?req=show&file=faq05.005.htp
http://www.pygtk.org/pygtk2tutorial/

Автор: pento 7.8.2007, 08:04
Цитата(pythonwin @  7.8.2007,  09:30 Найти цитируемый пост)
я делал это через glade 

Ну я пока хочу без glade научиться smile

Цитата(pythonwin @  7.8.2007,  10:00 Найти цитируемый пост)
http://faq.pygtk.org/index.py?req=show&amp...e=faq05.005.htp

Блин, и как я искал, что не нашёл это...спасибо! smile

P.S. Кстати, а как это в Glade делается?

Автор: pythonwin 7.8.2007, 08:27
Цитата(pento @  7.8.2007,  11:04 Найти цитируемый пост)
P.S. Кстати, а как это в Glade делается?

сделай через glade, а потом в __init__  в свойствах компаненты посмотри как это можно будет сделать это через код


Цитата(pento @  7.8.2007,  11:04 Найти цитируемый пост)
Блин, и как я искал, что не нашёл это...спасибо! smile

немного матерно правда smile

Цитата(pento @  7.8.2007,  11:04 Найти цитируемый пост)
P.S. Кстати, а как это в Glade делается?

панель свойств -> события
+ много примеров

Автор: pento 8.8.2007, 20:24
Кстати, кому интересно сделал так. На окно повесил
Код

self.window.connect('key_press_event', self.on_key_press)



Код

# Shortcuts
    def on_key_press(self, widget, event):
        keyname = gtk.gdk.keyval_name(event.keyval)
        # Exit app by Ctrl-q
        if keyname == 'q' and (event.state & gtk.gdk.CONTROL_MASK):
            self.exit()




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)