Название: QKeySequence: два шотката на одно действие Отправлено: Странник от Декабрь 04, 2011, 14:24 доброго времени суток.
вопрос довольно дурацкий, прошу прощения - цейтнот = ) можно ли без танцев с бубном назначить два сочетания клавиш на одно действие? к примеру, мне нужно, чтобы кнопка срабатывала по Ctrl+Enter и Ctrl+Return. некоторые стандартные QKeySequence имеют два сочетания: например, QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins. как бы мне изобразить подобное? Название: Re: QKeySequence: два шотката на одно действие Отправлено: andrew.k от Декабрь 04, 2011, 16:33 http://doc.qt.nokia.com/stable/qkeysequence.html#QKeySequence-4
Название: Re: QKeySequence: два шотката на одно действие Отправлено: kambala от Декабрь 04, 2011, 17:22 и при чем тут эта ссылка? автор хочет чтоб 2 совершенно разных комбинации выполняли одно и то же действие, а не одно действие выполнялось одной большой комбинацией (типа как в студии комментирование строки Ctrl+K, Ctrl+C)
отвечая на вопрос - переопредели keyPressEvent, через QKeySequence так не сделаешь Название: Re: QKeySequence: два шотката на одно действие Отправлено: Авварон от Декабрь 04, 2011, 19:09 у экшна есть метод к-ый ставит список шорткатов
Название: Re: QKeySequence: два шотката на одно действие Отправлено: andrew.k от Декабрь 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); Название: Re: QKeySequence: два шотката на одно действие Отправлено: kambala от Декабрь 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Название: Re: QKeySequence: два шотката на одно действие Отправлено: andrew.k от Декабрь 04, 2011, 19:34 Сейчас проверил, приведенный мной конструктор будет работать как последовательное нажатие одного и другого сочетания)
Кто бы мог подумать? (QKeySequence) ::) Тогда как Авварон сказал. Название: Re: QKeySequence: два шотката на одно действие Отправлено: andrew.k от Декабрь 04, 2011, 19:37 QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins Откуда это?Я проверил, срабатывает только Ctrl+C Название: Re: QKeySequence: два шотката на одно действие Отправлено: kambala от Декабрь 04, 2011, 19:54 Сейчас проверил, приведенный мной конструктор будет работать как последовательное нажатие одного и другого сочетания) и в самом деле, кто бы мог подумать? Constructs a key sequence with up to 4 keys k1, k2, k3 and k4.Кто бы мог подумать? (QKeySequence) ::) QKeySequence::Copy под Windows включает Ctrl+C и Ctrl+Ins Откуда это?Я проверил, срабатывает только Ctrl+C Название: Re: QKeySequence: два шотката на одно действие Отправлено: andrew.k от Декабрь 04, 2011, 20:34 Вот эта табличка меня и сбила с толку.
Название: Re: QKeySequence: два шотката на одно действие Отправлено: Странник от Декабрь 05, 2011, 10:02 у экшна есть метод к-ый ставит список шорткатов в том и беда, что мне нужно было реализовать это для кнопки, поэтому QAction меня не устраивал. но после вашей реплики я подумал: а почему бы не сделать связку QToolButton + QAction. спасибо за идею = ) |