2009-08-18 4 views
3

У меня возникла странная проблема с дизайнером Qt. У меня есть следующий ярлык для действий обновления: F5, Ctrl + RНесколько ярлыков клавиш для действий в Qt Designer

Идея заключается в том, что на компьютере Macintosh, Ctrl + R карты для Command + R который более интуитивно понятный и в Windows, F5 выполняет эту работу.

Проблема в том, что только первый ярлык кажется активным. Есть ли способ изменить ярлык действия так, что у нас есть Ctrl + R активен на Mac и F5 везде еще? Я знаю, что могу сделать это в коде, но я бы предпочел сделать это в дизайнере.

ответ

0

Это можно решить несколькими способами. Сначала вы можете использовать QKeySequence и назначить QKeySequence::Refresh ярлыком. Другой путь создания QList с 2 QKeySequence элементов, созданных с Qt::Key enum: Qt::Key_F5 и Qt::Key_Control + Qt::Key_R (на Mac OS X Command будет назначен buttton, на других Ctrl). Затем этот список передается в QActionsetShortcuts(). После этого, на Max OS X F5 и Command + R вызовет обновления действий, а также на других системах F5 и Ctrl +R. Наконец, если вы хотите установить Command + R без F5 на Mac OS X и F5 без Ctrl + R на других, вы должны сделать условной компиляции, то есть:

#ifdef Q_WS_MAC 
//set Qt::Key_Control + Qt::Key_R 
#else 
//set Qt::Key_F5 

подробнее о ОС определяет, что вы найдете here

+0

Я знаю, как это сделать в коде, мой вопрос был о том, как это сделать в Designer :) – cheez

+0

@cheez в дизайнере в редакторе действий, вам нужно нажать действие, а затем нажать клавиши быстрого доступа. В Mac OS X Ctrl будет изменен на команду qt без дополнительной работы. – Maciej

+0

Есть ли способ изменить ярлык действия так, чтобы Ctrl + R активен на Mac и F5 везде? Я знаю, что могу сделать это в коде, но я бы предпочел сделать это в дизайнере. – cheez

 Смежные вопросы

  • Нет связанных вопросов^_^