решаемые это, не самое лучшее решение, но быстро ... Если вы хотите что-то более настроить, я думаю, вы должны построить его самостоятельно ...
customkeysequenceedit.h:
#ifndef CUSTOMKEYSEQUENCEEDIT_H
#define CUSTOMKEYSEQUENCEEDIT_H
#include <QKeySequenceEdit>
class QKeyEvent;
class CustomKeySequenceEdit : public QKeySequenceEdit
{
Q_OBJECT
public:
explicit CustomKeySequenceEdit(QWidget *parent = 0);
~CustomKeySequenceEdit();
protected:
void keyPressEvent(QKeyEvent *pEvent);
};
#endif // CUSTOMKEYSEQUENCEEDIT_H
customkeysequenceedit.cpp:
#include "customkeysequenceedit.h"
#include <QKeyEvent>
CustomKeySequenceEdit::CustomKeySequenceEdit(QWidget *parent) : QKeySequenceEdit(parent) { }
CustomKeySequenceEdit::~CustomKeySequenceEdit() { }
void CustomKeySequenceEdit::keyPressEvent(QKeyEvent *pEvent)
{
QKeySequenceEdit::keyPressEvent(pEvent);
QKeySequence seq(QKeySequence::fromString(keySequence().toString().split(", ").first()));
setKeySequence(seq);
}
В чем проблема с QKeySequence, поддерживающей четыре клавиши? Вы не обязаны определять четыре ключевых ярлыка, не так ли? Просто используйте их с двумя клавишами. –
@FrankOsterfeld Нет, я не, но это UX nogo, чтобы показать пользователю четыре клавиши и использовать только один ... –
Где такие ярлыки отображаются в пользовательском интерфейсе, если вы их не определяете? –