0
Qtでアクティビティを有効にするには、押された状態に基づいて複数のキーを渡す必要があります。最初はQKeySequenceを使って同じことをしようとしていましたが、動的ではありません。一連のキーを作成する方法
keyPressEvent() {
if (keypress event) {
switch(keyevent->key()) {
Qt::Key_Alt:
"add this key to qkeysequence"
Qt::Key_Control:
"add this key to qkeysequence"
Qt::Key_Shift:
"add this key to qkeysequence"
Qt::Key_P:
"add this key to qkeysequence"
}
}
if (keyrelease event) {
switch(keyevent->key()) {
Qt::Key_Alt:
"remove this key from qkeysequence"
Qt::Key_Control:
"remove this key from qkeysequence"
Qt::Key_Shift:
"remove this key from qkeysequence"
Qt::Key_D:
"remove this key from qkeysequence"
}
}
handleKeySequence(qkeysequence);
}
handleKeySequence(qkeysequence) {
if (qkeysequence matches Qt::Key_Ctrl) do something
else if (qkeysequence matches Qt::Key_ctrl+Qt::Key_D) do something
.... other such sequences
}
しかしQKeySequence doesntのは、そこに何かをするように見える、といくつかのより多くのオプションを試してみました、そして、彼らはどちらかの多くを助けてはいけません。
お手数ですが、ありがとうございます。
イワンは、実際にQShortcutが私のために働かないおかげで、そして他のポストをチェックし、それを通過し、それはどちらかずっと私を助けないだろうでした...私がやりたいことは、複数のキーを1つのコンテナにパッケージ化してdiffコンポーネントに送信することです。キーに基づいてそれを処理できるはずです。 'QKeySequence'は完璧に聞こえます。一度作成したキーは変更できません。 – Ravi