Russian Qt Forum
Мая 25, 2025, 13:52
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Как определить нажатие на клавишу? Допустим для QListWidget.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как определить нажатие на клавишу? Допустим для QListWidget. (Прочитано 5672 раз)
Пытон
Гость
Как определить нажатие на клавишу? Допустим для QListWidget.
«
:
Декабря 04, 2011, 12:02 »
На клавиатуре нажимается клавиша del, в ответ удаляем текущий элемент списка. Как узнать что del была нажата? Какой сигнал обрабатывать?
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 865
Акцио ЗАРПЛАТА!!!!! :(
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #1 :
Декабря 04, 2011, 12:48 »
Цитата: Пытон от Декабря 04, 2011, 12:02
На клавиатуре нажимается клавиша del, в ответ удаляем текущий элемент списка. Как узнать что del была нажата? Какой сигнал обрабатывать?
virtual void keyPressEvent ( QKeyEvent * event )
virtual void keyReleaseEvent ( QKeyEvent * event )
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Пытон
Гость
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #2 :
Декабря 04, 2011, 16:59 »
Ещё бы понять как этим пользоваться. Это ведь не сигнал. Как я должен поймать это событие? Как связать его с процедурой-обработчиком?
Желателен пример на питоне, но не обязательно на нём.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #3 :
Декабря 04, 2011, 17:11 »
почитай немножко документацию. это просто protected-метод.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пытон
Гость
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #4 :
Декабря 05, 2011, 04:20 »
Ежели кому не в тягость, пример кода, пожалуйста. Желательно на питоне.
Записан
Пытон
Гость
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #5 :
Декабря 05, 2011, 16:48 »
И-эх... У меня есть учебник по PyQT, в нём немного описаны эти события, но для ООП. И что-то я в них не въезжаю. Примерчик, плиз?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #6 :
Декабря 05, 2011, 18:05 »
так трудно
погуглить
? вторая ссылка выдаёт нужный результат:
Код
Python
def
keyPressEvent
(
self
, e
)
:
if
e.
key
(
)
== QtCore.
Qt
.
Key_Escape
:
self
.
close
(
)
Цитировать
If we click the escape button, the application terminates.
естественно, этот метод должен быть определён в классе.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пытон
Гость
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #7 :
Декабря 06, 2011, 10:24 »
Я пока не использую классы. Пока. В будущем, конечно же, буду.
В бесклассовом
обществе
программировании можно как-то поймать нажатие на клавишу на виджете?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как определить нажатие на клавишу? Допустим для QListWidget.
«
Ответ #8 :
Декабря 06, 2011, 10:37 »
нельзя. Qt построена на классах. без них можно только показать виджеты с минимумом предварительной их настройки.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...