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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QKeySequence: два шотката на одно действие  (Прочитано 7244 раз)
Странник
Гость
« : Декабрь 04, 2011, 14:24 »

доброго времени суток.
вопрос довольно дурацкий, прошу прощения - цейтнот = )

можно ли без танцев с бубном назначить два сочетания клавиш на одно действие? к примеру, мне нужно, чтобы кнопка срабатывала по Ctrl+Enter и Ctrl+Return. некоторые стандартные QKeySequence имеют два сочетания: например, QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins. как бы мне изобразить подобное?
Записан
andrew.k
Гость
« Ответ #1 : Декабрь 04, 2011, 16:33 »

http://doc.qt.nokia.com/stable/qkeysequence.html#QKeySequence-4
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Декабрь 04, 2011, 17:22 »

и при чем тут эта ссылка? автор хочет чтоб 2 совершенно разных комбинации выполняли одно и то же действие, а не одно действие выполнялось одной большой комбинацией (типа как в студии комментирование строки Ctrl+K, Ctrl+C)

отвечая на вопрос - переопредели keyPressEvent, через QKeySequence так не сделаешь
Записан

Изучением 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
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Декабрь 04, 2011, 19:09 »

у экшна есть метод к-ый ставит список шорткатов
Записан
andrew.k
Гость
« Ответ #4 : Декабрь 04, 2011, 19:10 »

Ну прочитай, что делает этот конструктор, узнаешь при чем.
Цитировать
Constructs a key sequence with up to 4 keys k1, k2, k3 and k4.

Как я понял, это то, что требуется автору.
QKeySequence(Qt::CTRL + Qt::Key_C, Qt::CTRL + Qt::Key_Insert);
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Декабрь 04, 2011, 19:24 »

Ну прочитай, что делает этот конструктор, узнаешь при чем.
Цитировать
Constructs a key sequence with up to 4 keys k1, k2, k3 and k4.

Как я понял, это то, что требуется автору.
QKeySequence(Qt::CTRL + Qt::Key_C, Qt::CTRL + Qt::Key_Insert);
а не одно действие выполнялось одной большой комбинацией (типа как в студии комментирование строки Ctrl+K, Ctrl+C)
QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins
это означает, что копирование чего-либо в винде будет выполняться комбинацией Ctrl+C или Ctrl+Ins, а указанный тобой конструктор будет использовать комбинацию Ctrl+C и Ctrl+Ins, как в приведенном мною примере про visual studio
Записан

Изучением 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
andrew.k
Гость
« Ответ #6 : Декабрь 04, 2011, 19:34 »

Сейчас проверил, приведенный мной конструктор будет работать как последовательное нажатие одного и другого сочетания)
Кто бы мог подумать? (QKeySequence)  Строит глазки

Тогда как Авварон сказал.
Записан
andrew.k
Гость
« Ответ #7 : Декабрь 04, 2011, 19:37 »

QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins
Откуда это?
Я проверил, срабатывает только Ctrl+C
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Декабрь 04, 2011, 19:54 »

Сейчас проверил, приведенный мной конструктор будет работать как последовательное нажатие одного и другого сочетания)
Кто бы мог подумать? (QKeySequence)  Строит глазки
и в самом деле, кто бы мог подумать? Constructs a key sequence with up to 4 keys k1, k2, k3 and k4.
QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins
Откуда это?
Я проверил, срабатывает только Ctrl+C
в документации к классу есть табличка, к которой написано "The table below shows some common key sequences that are often used for these standard shortcuts by applications on four widely-used platforms". так что это все-таки просто рекомендуемые шорткаты.
Записан

Изучением 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
andrew.k
Гость
« Ответ #9 : Декабрь 04, 2011, 20:34 »

Вот эта табличка меня и сбила с толку.
Записан
Странник
Гость
« Ответ #10 : Декабрь 05, 2011, 10:02 »

у экшна есть метод к-ый ставит список шорткатов
в том и беда, что мне нужно было реализовать это для кнопки, поэтому QAction меня не устраивал. но после вашей реплики я подумал: а почему бы не сделать связку QToolButton + QAction. спасибо за идею = )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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