Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
pythonUser
0 / 0 / 3
Регистрация: 12.10.2015
Сообщений: 37
1

События крестика клавиатуры widget.bind('<events>', func)

23.01.2016, 00:31. Просмотров 610. Ответов 5
Метки нет (Все метки)

Добрый вечер.

Помогите решить маленькую проблему, читаю М.Лутца прохожу GUI.

Не могу понять почему не работают события крестика или клавиатуры.
Кнопки и движения мыши срабатывают, что я делаю не так?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from tkinter import *
 
parent=Tk()
 
def func(event):
    print(event)
    
canvas=Canvas(parent)
canvas.config(width=200, height=200)
canvas.pack()
canvas.bind('<Left>', func)
 
parent.mainloop()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2016, 00:31
Ответы с готовыми решениями:

Как обрабатывать события клавиатуры в терминале?
Доброго времени суток! Постепенно изучаю питон. В процессе изучения часто...

Как связать события? Events
Здраствуйте. Мне нужно, что при зажатой кнопки мыши и перемещении курсора...

События (Events) для subform, имеющей источником запрос (SourceObject=Query), не назначаются
Здравствуйте! Пытаю форму с сабформой, имеющей в качестве источника запрос...

перебиваются стили виджета Nav::widget при подключении виджета \yii\jui\Dialog::widget
Добрый день. Возникла следующяя проблема при подключении виджета...

В чем разница int (*func) () и int *func ()
Ребята, помогите пожалуйста. Недавно начал изучать си... Объясните в чем...

5
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
23.01.2016, 12:28 2
А что ты хочешь получить то? Если честно странный код...

Вообще я бы рекомендовал не трогать tkinter, это бессмысленная трата времени на старье.

Лучше с pyqt знакомься.
0
pythonUser
0 / 0 / 3
Регистрация: 12.10.2015
Сообщений: 37
23.01.2016, 13:08  [ТС] 3
Хочу назначить событие крестика (влево, вправо, вниз, вверх).
Например, нажимаю крестик клавиатуры вверх, идет сообщение в консоль "нажат крестик вверх".

Спасибо за совет, но все-таки сначала закончу с tkinter, потом займусь pyqt. Не могу бросить незаконченным...
0
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
23.01.2016, 13:45 4
Цитата Сообщение от pythonUser Посмотреть сообщение
Не могу бросить незаконченным...
Практически бесцельная трата времени. Что-то общее ты узнаешь, но в итоге с tkinter далеко не уедешь и останешься с поверхостными знаниями по работе с gui и придется снова учиться работать с другой бибилиотекой.

Ну, что касается твего когда, то там все просто. Ты действия добавляешь для frame, он по умолчанию не выделен и по этому события для него не сработают пока ты его не выберешь.
В общем в твоем случае тебе надо события добавлять не frame, а окну.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from tkinter import *
 
 
def arrow_press(event):
    print(event)
 
 
root = Tk()
canvas = Canvas(root)
canvas.config(width=200, height=200)
canvas.pack()
 
root.bind('<Left>', arrow_press)
root.bind('<Right>', arrow_press)
 
root.mainloop()
P.S и не называй стрелки "крестиком", когда говорят о крестике первое и единственное о чем вспоминаешь, это о кнопке закрытия окна, а ты о другом говоришь.
1
pythonUser
0 / 0 / 3
Регистрация: 12.10.2015
Сообщений: 37
23.01.2016, 14:10  [ТС] 5
Цитата Сообщение от pythonUser Посмотреть сообщение
Не могу бросить незаконченным...
Практически бесцельная трата времени. Что-то общее ты узнаешь, но в итоге с tkinter далеко не уедешь и останешься с поверхостными знаниями по работе с gui и придется снова учиться работать с другой бибилиотекой.

Спасибо. Убедительно пишешь, не сталкивался с этой книгой "Python 3 и PyQt" Николай Прохоренок?
Или может сам посоветуешь какую книгу?

Ну, что касается твего когда, то там все просто. Ты действия добавляешь для frame, он по умолчанию не выделен и по этому события для него не сработают пока ты его не выберешь.
В общем в твоем случае тебе надо события добавлять не frame, а окну.

Спасибо, не можешь ресурс где это написано?
Не могу понять почему это у М.Лутца написано....
0
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
23.01.2016, 16:21 6
Цитата Сообщение от pythonUser Посмотреть сообщение
не сталкивался с этой книгой "Python 3 и PyQt" Николай Прохоренок
Сталкивался, в какой-то мере начинал с нее знакомиться с pyqt. Книга ничего так, но вначале нормально ещё описывается что к чему, а потом автор скатывается до тупого перевода документации.
В общем то я знакомился с pyqt по этой книге и ещё куче онлайн статей, благо их много и они подробные.

Цитата Сообщение от pythonUser Посмотреть сообщение
не можешь ресурс где это написано
Это просто опыт, я это не вычитал где-то.

Цитата Сообщение от pythonUser Посмотреть сообщение
Не могу понять почему это у М.Лутца написано....
Незнаю, я его двухтомники не читал. Я в практику полез после прочтения "Python для начинающих" и дальше уже читал форумы и статьи конкретно по тому, что меня интересовало.

http://www.pythonschool.net/category/pyqt.html
http://pythoncentral.io/series/python-pyside-pyqt-tutorial/
http://zetcode.com/gui/pyqt4/
1
23.01.2016, 16:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2016, 16:21

Func<TIn, bool> в Func<TOut, bool>
Подскажите если возможность как-нибудь преобразовать Func&lt;TIn, bool&gt; в...

Qt события клавиатуры
Подскажите как отловить событие нажатия клавиш Fn и PrtScr. Часто встречала...

события от клавиатуры
Сводная таблица расширенных кодов Значение 2-го ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru