Post-Примечания:
- Проверено и подтверждено работает на Linux/Windows, используя Qt-4.6.3-RH5-x86_64 и Qt-4.6.4-win32 соответственно.
- Протестировано и сообщило, что не работает в Mac OS X от Kamil Klimek.
Я не совсем уверен, если это является частью Qt предназначена функциональность или просто взломать. То, что я не могу найти никакой документации, намекает на последнее, но что она работает так красиво предлагает первый. Вы будете судьей, и позвольте мне/нам знать.
Обычное использование было:
// Existing: QMenu* fileMenu_
QAction* action = new QAction("Recent file name", fileMenu_)
action->setShortcut(QKeySequence(QString("CTRL+").append(QString::number(1))));
fileMenu_->addAction(action);
Теперь, по-видимому, Qt заселяет меню файл в виде таблицы с двумя колонками. По умолчанию используется ярлык (имя), в левом столбце и форматированные клавиши быстрого доступа в правом столбце.
| Recent file name Ctrl+1 |
Это может быть легко изменено с помощью экранированной вкладки. Такая, что с помощью:
QAction* action = new QAction("Some text\tOther text", fileMenu_)
action->setShortcut(QKeySequence(QString("CTRL+").append(QString::number(1))));
Результаты в
| Some text Other text |
Хотя по-прежнему сохраняя по умолчанию Ctrl + 1 ярлык, когда из фокуса.Это приводит к решению:
QAction* action = new QAction(QString("Recent file name\tCtrl+&%1").arg(i)), fileMenu_)
action->setShortcut(QKeySequence(QString("CTRL+").append(QString::number(i))));
Если переменная i
обозначает индекс недавнего файла. Это создает именно то, что я имел в виду, а также показывает подчёркивание под номером, что указывает на мнемонический ярлык.
Update
Просто, чтобы продемонстрировать конечный результат, я добавил некоторые изображения в случае Существует никакой путаницы.
Разрешение Qt для заполнения в правой колонке с ярлыка (то, что я имел, прежде чем задать вопрос, довольно стандартный):
После ручного заполнения в правой колонке, а также добавление мнемонические:
Что мне выглядеть идентично, кроме подчеркивания, обозначающего мнемоников.
Просто любезно, но вы проверили его на Mac OS X? Я полагаю, что у него будет некоторое ограничение, особенно на фокус в/из меню приложения. –
Я не пробовал это в Mac OS X, нет, но фокус на меню кажется немного странным и для Windows XP. К сожалению, у меня не так много времени, чтобы исследовать это поведение, поэтому я дам ОП дать нам некоторые обновления, если он экспериментирует с этим подходом. –
Я расскажу вам, ребята, через 24 часа. И спасибо Люку, это выглядит многообещающим. – swalog