crossplatform.ru

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

AD
  опции профиля:
сообщение 14.7.2008, 15:42
Сообщение #1


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Как правильно обрабатывать сочетания клавиш в функции keyPressEvent()? Например сочетания: Alt+Enter, Alt+y, etc!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Red Devil
  опции профиля:
сообщение 15.7.2008, 15:55
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

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




Репутация:   3  


Функция класса, в котором создаются shortcuts. У меня такой класс один, если их более одного, то еще не помешало бы вынести функцию отдельно и добавить параметр QObject * pSender, и заменить его там где this.
void CreateShortcut( QShortcut *& pShortcut, const char * sName, const char * sShortcut, const char * sHandler, Qt::ShortcutContext Context = Qt::WindowShortcut)
{
    pShortcut = new QShortcut(QKeySequence(tr(sShortcut)), this);
    pShortcut->setWhatsThis(tr(sName));
    pShortcut->setContext(Context);
    connect(pShortcut, SIGNAL(activated()), this, sHandler);
}

Добавление, где-то при инициализации приложения :
// обьявление 
QShortcut * m_pShortcut1;
QShortcut * m_pShortcut2;
...
// инициализация (в конструкторе например)
CreateShortcut(m_pShortcut1, "Shortcut 1", "Ctrl+S", SLOT(Shortcut1Slot()));
CreateShortcut(m_pShortcut2, "Shortcut 2", "Ctrl+D", SLOT(Shortcut2Slot()));


Сообщение отредактировал Red Devil - 15.7.2008, 15:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.7.2025, 22:27