Название: [РЕШЕНО] Срабатывание комбинации CTRL+C Отправлено: Andrew12 от Января 23, 2012, 17:48 Здравствуй, многоуважаемый All.
Есть форма с двумя таблицами. Для копирования выделения любой из них в буффер, вешаю на каждую : Код: QAction *action = new QAction(tablewidget); Так вот, непосредственно при нажатии CTRL+C консоль матюкается "QAction::eventFilter: Ambiguous shortcut overload: Ctrl+C". Я так понимаю это из-за того, что два раза определил QAction с такой комбинацией. Как выйти из положения? Название: Re: Срабатывание комбинации CTRL+C Отправлено: Странник от Января 23, 2012, 18:48 я перехватывал событие нажатия клавиши на таблице, переопределить эвент или фильтр поставить - неважно. но не буду утверждать, что это единственное или лучшее решение.
Название: Re: Срабатывание комбинации CTRL+C Отправлено: Kolobok от Января 23, 2012, 19:37 Код: QShortcut *shortcut = new QShortcut(QKeySequence::Copy, tablewidget); Название: Re: Срабатывание комбинации CTRL+C Отправлено: Andrew12 от Января 24, 2012, 11:43 В обоих случаях есть пока не решенные проблеммы:
1. Если Перехватывать eventFilter, то срабатывает стандартная операция копирования и только созданное содержимое буфера перезаписывается содержимым ячейки, в которой стоит курсор. Т.е. после EventFilter срабатывает Copy by Microsoft Windows и как его отключить непонятно. 2. Метод Shortcut работает отлично, за исключением случая, когда на форме лежит две таблицы. В таком случае создается 2 єкземпляра Shortcut и при нажатии на CTRL+C не срабатывает ни один. Можете еще что-либо предложить? Название: Re: Срабатывание комбинации CTRL+C Отправлено: mutineer от Января 24, 2012, 11:47 Стандартный copy срабатывает независимо от того, что возвращает фильтр?
Название: Re: Срабатывание комбинации CTRL+C Отправлено: Kolobok от Января 24, 2012, 13:16 2. Метод Shortcut работает отлично, за исключением случая, когда на форме лежит две таблицы. В таком случае создается 2 єкземпляра Shortcut и при нажатии на CTRL+C не срабатывает ни один. не вызывается, потому что они без фокуса.Название: [РЕШЕНО] Re: Срабатывание комбинации CTRL+C Отправлено: Andrew12 от Января 24, 2012, 14:34 С EventFilter действительно не досмотрел. Для того, чтоб стандартный Copy от Microsoft Windows не срабатывал необходимо в EventFilter возвращать true.
|