1

QKeySequenceでショートカットを 1 つだけ表示するように制限することはできQKeySequenceEditますか? 現在、最大 4 つのショートカットをサポートしています。私のアプリケーションは、1 つのショートカットのみのキー シーケンスをサポートします。たとえばCtrl+A、またはCtrl+Cではなく、Ctrl+A, DまたはCtrl+C, X, Zです。

キー シーケンスを 1 つだけに制限しQKeySequenceたり、1 つだけにすることは可能ですか?QKeySequenceEdit

4

2 に答える 2

4

[]次の演算子を使用できますQKeySequence: http://doc.qt.io/qt-5/qkeysequence.html#operator-5b-5d

したがって、インターフェイス コンストラクターで、次のように記述します。

connect(ui->editShortcut, &QKeySequenceEdit::editingFinished, 
        this, &dialog::truncateShortcut);

そして、このプライベート メソッドをダイアログ クラスに追加します。

void dialog::truncateShortcut()
{
    int value = ui->editShortcut->keySequence()[0];
    QKeySequence shortcut(value);
    ui->editShortcut->setKeySequence(shortcut);
}

そうすることで、API を完全に尊重し、キャラクターに依存しないことになりますが,、これは非常に危険です。

于 2016-07-17T18:17:22.117 に答える