Russian Qt Forum
Ноябрь 23, 2024, 19:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Действие shortcut'а у QAction  (Прочитано 5000 раз)
ruzik
Гость
« : Август 26, 2012, 15:44 »

Вот скажем есть такой код:
Код:
    QAction *addAction = new QAction(this);
    addAction->setShortcut(QKeySequence(QKeySequence::New));
    connect(addAction, SIGNAL(triggered()), this, SLOT(addItem()));
Но при нажатии на соответствующее сочетание клавиш сигнал не срабатывает.
При том что в меню это QAction имеет соответствующую надпись.
Получается единственный выход, переопределение нажатия клавиш?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Август 26, 2012, 15:47 »

а если написать "Ctrl+N" вместо QKeySequence::New, то работает?
Записан

Изучением 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
ruzik
Гость
« Ответ #2 : Август 26, 2012, 19:07 »

Нет
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Август 26, 2012, 19:14 »

горячие клавиши будут работать у родителя экшена (который ты указал this) и у всех его дочерних виджетов — возможно дело в этом, т.к. код сам по себе правильный
Записан

Изучением 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
ruzik
Гость
« Ответ #4 : Август 27, 2012, 16:26 »

this - это главное окно, где все происходит.
И горячие клавиши я пытаюсь задействовать в этом же окне
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Август 27, 2012, 16:40 »

значит без компилируемого примера не разобраться
Записан

Изучением 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
ruzik
Гость
« Ответ #6 : Август 27, 2012, 17:23 »

Выдрал код из проекта(компилируемый)
Qt 4.8.1
« Последнее редактирование: Август 27, 2012, 17:54 от ruzik » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #7 : Август 27, 2012, 20:22 »

допиши this->addAction(addAction); и все заработает
Записан

Изучением 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
ruzik
Гость
« Ответ #8 : Август 27, 2012, 21:14 »

Понятно, большое спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.078 секунд. Запросов: 23.