crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> как перехватывать нажатие alt+f4?
Rocky
  опции профиля:
сообщение 29.1.2010, 0:21
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Делаю так:
void CPlayStationClient::keyPressEvent(QKeyEvent *pEvent)
{
    if (pEvent->key() == Qt::Key_F4 && (pEvent->modifiers() & Qt::AltModifier))
    {
        pEvent->ignore();
        return;
    }

    pEvent->accept();
}


Не работает... по отдельности если нажимать alt или f4 - то вызывается... а вот если нажать сразу то сразу происходит выход из программы ((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
JuryS1806
  опции профиля:
сообщение 29.1.2010, 0:26
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 93
Регистрация: 21.10.2009
Из: Нижний Новгород
Пользователь №: 1168

Спасибо сказали: 9 раз(а)




Репутация:   0  


У меня обычно так работает:

MainWindow::MainWindow()
{
connect(qApp, SIGNAL(lastWindowClosed()), this, SLOT(ЗДЕСЬ_ИМЯ_СЛОТА_ДЛЯ_ОБРАБОТКИ()));
}
Причина редактирования: Цитировать целыми сообщениями не к чему
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 29.1.2010, 0:28
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


:)
Ну так это глобальный системный хот-кей: Alt+F4 - закрыть текущее окно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 29.1.2010, 0:35
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


JuryS1806
Не, мне надо запрещать выход из программы по alt+f4.... А как я понял из assistant-а слот сигнала lastWindowClosed вызывается когда окно уже закрыто... (

BRE
Так чтож получается запрещать закрытие только если ставить глобальный хук? (( И больше никак?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.1.2010, 1:03
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Rocky @ 29.1.2010, 3:35) *
Так чтож получается запрещать закрытие только если ставить глобальный хук?
а как же closeEvent(), а в нём event->ignore()
См. пример %QTDIR%\examples\mainwindows\application\
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 29.1.2010, 9:13
Сообщение #6


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Точняк, туплю =(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 15:03