@Shura
Shura
10 Feb 2017

Короче, есть код:

my_shortcut = new QxtGlobalShortcut(this);
connect(my_shortcut, SIGNAL(activated()), m_model, SLOT(my_paste()));
my_shortcut->setShortcut(QKeySequence(QKeySequence::Paste));

Глобально перехватывает нажатие Ctrl+V и делает кое-что своё. Всё как бы работает, но есть один нюанс, после того, как моя программа вешается на шорткат, система больше не вставляет. Как выполнить свой код и вернуть шорткат системе, чтобы она тоже увидела, что пользователь вставить хочет и вставила бы?

10 Feb 2017

++ По-моему обычно фильтруют QEvent в таких случаях (в вяленде не работает).

10 Feb 2017

blaze, QEvent будет ловить шорткаты, если моя программа не активна?

#ozqei/4 в ответ на /3
10 Feb 2017

По идее он все события класса XEvent должен проксировать. Если что, можно XEvent заюзать напрямую.

#ozqei/5 в ответ на /4
10 Feb 2017

blaze, там кроссплатформенная программа, я боюсь настолько глубоко лезть, придётся много костылей под каждую платформу городить

#ozqei/6 в ответ на /5
10 Feb 2017

Оптимально было бы выбрать не конфликтующий ни с чем шорткат. В любом случае выкручиваться как-то придётся.

#ozqei/7 в ответ на /6
10 Feb 2017

blaze, вся соль в том, что мне нужно выполнять какие-то действия именно по событию вставки текста из буфера. На системном уровне.
Смотрю QEvent, но мне кажется это не то, примеры и описание говорят только о событиях внутри самой программы, похоже он может отслеживать нажатия клавиш только внутри программы.

#ozqei/8 в ответ на /7

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.