crossplatform.ru

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


  Ответ в [РЕШЕНО] QAction и проверка нажатия кнопок клавиатуры
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 21.3.2010, 15:40
  zamnach, в описании оговорка есть, поэтому она меня несколько смутила.
zamnach Дата 21.3.2010, 15:06
  Юрий, thanx-a-lot.

// пример кода для решения проблемы
void CApplication::slOpenRecentFile()
{
    Qt::KeyboardModifiers keyMod = QApplication::keyboardModifiers ();
    bool isSHIFT = keyMod.testFlag(Qt::ShiftModifier);
    if (isSHIFT)
    {
        QMessageBox::information( 0,QObject::tr("Caution"),"slOpenRecentFile: with key SHIFT!" );
    }
// чего-то-там тра-ля-ля-ля
}

Litkevich Yuriy Дата 21.3.2010, 13:36
  не уверен, но можно попробовать в слоте воспользоваться статическим членом:
Qt::KeyboardModifiers QApplication::keyboardModifiers () [static]
zamnach Дата 21.3.2010, 12:52
  так-итак:
есть QAction (созданы в Дизайнере, если это важно)
у QAction есть сигнал 'void QAction::triggered ( bool checked = false ) [signal]'
сигнал связывается со слотом, пока все ОК.
как мне в обработчике (в слоте) определить, что в момент нажатия на пункт меню (QAction)
была нажата клавиша 'Ctrl' и/или 'Shift' и/или 'Alt' (или какая-либо другая клавиша)?
shortcut мне не подходит, т.к. мне важно определить для пункта меню:
был просто клик или 'клик с кнопкой' (там сидит разная логика работы).
thanx for help.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 9.7.2025, 19:46