| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt Linux горячие клавиши |
| Автор: unknownns 15.5.2012, 00:30 | ||
Всем привет. В конструкторе класса от QMainWindow создаю меню
Непонятно почему не работает ALT+Ф. Собственно если задать "&File" комбинация ALT+F срабатывает. В то же время, если перевести фокус с помощью слота на меню клавиша Ф работает. tr или создание отдельного QMenu тоже не помогли. На действиях также, если задать setShortcut с латиницей всё ок, стоит сделать русскую букву - всё, не рабит. |
| Автор: math64 15.5.2012, 09:51 |
| Клавиатура в каком языке? В Linux Alt-Ф(кириллица) и Alt-A (латиница) - разные комбинации. Добавь Alt-A вручную. |
| Автор: bsa 15.5.2012, 10:42 |
| Известный баг: https://bugreports.qt-project.org/browse/QTBUG-13486 |
| Автор: unknownns 15.5.2012, 13:42 | ||||||
math64 разные то разные, но они же меняются при смене раскладки. Но как я понял смены не происходит, хоть язык и меняется... т.к. при переключении на ру, латинские шоткаты продолжают работать - всё как описано в баге выше. Нужно ставить ALT+A вручную, но и тут возникают вопросы:
|
| Автор: bsa 15.5.2012, 13:47 |
да. пиши в том баге, что он и тебя касается. чем больше народу напишет, тем быстрее исправят. |
| Автор: unknownns 15.5.2012, 15:10 | ||
Попробовал решить проблему через QShortcut
клавиши срабатывают и меню появляется, но совсем не на месте менюбара, а в левом углу экрана - вообще за окном приложения. В то же время стоит в приложении выбрать это меню мышкой и о чудо, по клавишам меню раскрывается уже всегда на своём месте. В чём проблема? |
| Автор: unknownns 15.5.2012, 15:30 |
| Пока что кроме как использовать этот костыль, и ещё более чудовищного в виде file_menu->setGeometry решения не вижу. Хоть file_menu и создаётся из menuBar()->addMenu, но почему же в нём нет реальных координат расположения menuBar-а до вызова меню мышкой, т.е. кликнув на баре, остаётся великой загадкой. |
| Автор: unknownns 15.5.2012, 22:24 | ||||
Итак, окончательное решение:
И добавляем слот...
Учитывая что баг заключается в отсутствии реакции на смену раскладки, даже при исправлении работать будет в обоих раскладках. |