Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 3
Регистрация: 12.10.2015
Сообщений: 37

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

23.01.2016, 00:31. Показов 3076. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2016, 00:31
Ответы с готовыми решениями:

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

События кнопок (events buttons)
Здравствуйте! Все наверняка знают эту удобную функцию: когда зажимаешь кнопку, но вдруг передумал, отводишь курсор с кнопки и...

2 события в bind
$(document).bind('resize DOMContentLoaded', function() { console.log('dfs'); }); Возможно повесить 2 события одновременно? В...

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

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

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

Спасибо за совет, но все-таки сначала закончу с tkinter, потом займусь pyqt. Не могу бросить незаконченным...
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
23.01.2016, 13:45
Цитата Сообщение от 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
0 / 0 / 3
Регистрация: 12.10.2015
Сообщений: 37
23.01.2016, 14:10  [ТС]
Цитата Сообщение от pythonUser Посмотреть сообщение
Не могу бросить незаконченным...
Практически бесцельная трата времени. Что-то общее ты узнаешь, но в итоге с tkinter далеко не уедешь и останешься с поверхостными знаниями по работе с gui и придется снова учиться работать с другой бибилиотекой.

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

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

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

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

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

http://www.pythonschool.net/category/pyqt.html
http://pythoncentral.io/series... -tutorial/
http://zetcode.com/gui/pyqt4/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.01.2016, 16:21
Помогаю со студенческими работами здесь

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

Как связать events и single-events (Иерархия шаблонов)?
Здравствуйте. Вопрос в следующем – создал произвольный тип записи &quot;События&quot; (events.php), для каждого поста это категории сделал...

В виде Upcoming Events выводить события, как в виде Categories
Поясню, нужно выводить события на главной странице как на этом демо: http://joomdonationdemo.com/eventbooking/ Собственно, интересует...

Нет перегруженной подпрограммы с такими типами параметров f:=(FUNC)-abs(FUNC) перед abs
Program lb4n5; Var x,b,y:real; Function FUNC(x,b:real):real; Begin FUNC:=power(x,6)+5/cos(b)+4 End; Procedure...

No matching function for call to 'Ui::Widget::setupUi(Widget*)'
Привет. Рисую треугольник. В файле widget.h ошибка в строке, Как её исправить? ui-&gt;setupUi(this); triangle.h #ifndef TRIANGLE_H ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru