Как запретить закрытие диалогового окна при нажатии esc? |
Здравствуйте, гость ( Вход | Регистрация )
Как запретить закрытие диалогового окна при нажатии esc? |
Rocky |
12.3.2009, 19:22
Сообщение
#1
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
сабж
Спасибо. |
|
|
Kagami |
12.3.2009, 19:41
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
При нажатии кнопки Esc вызывается слот QDialog::reject(). Вот его и надо переопределить в своем диалоге, например, чтобы он ничего не делал.
Сообщение отредактировал Kagami - 12.3.2009, 19:53 |
|
|
Litkevich Yuriy |
12.3.2009, 20:21
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а можно делать как у тролей в пример MDI:
|
|
|
kwisp |
13.3.2009, 10:02
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Litkevich Yuriy,
не получиться предложенным способом. я где то читал что по escape все равно будет закрываться. вот код можно проверить
походу просто напросто по escape closeEvent не вызывается. |
|
|
BRE |
13.3.2009, 10:15
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
kwisp |
13.3.2009, 10:17
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
kuler |
13.3.2009, 13:00
Сообщение
#7
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
у меня тоже клозе евент по ескапу не срабатывает, причем что самое странное окно секунд 10 по ескапе не закрывается, а потом если нажать то закрывается
во, переопределил reject в паре с клозе и заработало |
|
|
kwisp |
13.3.2009, 20:31
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Rocky |
13.3.2009, 22:27
Сообщение
#9
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
kwisp
ок, а как узнать, closeEvent сработал после нажатия кнопки esc или после нажатия кнопки "Отмена"? |
|
|
kwisp |
13.3.2009, 22:37
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Rocky,
повторимся. в классе QDialog после нажатия escape closeEvent не срабатывает вообще. собери мой пример и посмотри в вывод в лог. в других виджетах так сразу на ум ничего не приходит надо подумать..... Сообщение отредактировал kwisp - 13.3.2009, 22:38 |
|
|
Текстовая версия | Сейчас: 24.4.2024, 14:14 |