2

私は Qt5 を使用して関数電卓プロジェクトに取り組んでいます。電卓のディスプレイとして QTextEdit を使用しています。ディスプレイの (Ctrl + A、Ctrl + C) などのショートカットを無効にしたいのですが、どうすればいいですか? ありがとうございました。

4

2 に答える 2

2

キー フィルター メソッド、ホット キーに対して false を返すイベント フィルターを作成します。少し面倒ですが、うまくいくはずです。

于 2013-02-10T21:10:54.593 に答える
1

LineEdit でのイベント フィルタリングは、それを行うための適切な方法です。その後、不要なものを無視したり、動作をオーバーライドしたりできます。

試してみる汚いショートカット (しゃれは意図されていません) は、QShortcut を作成し、それを空のスロットに割り当てることです。Qt はおそらくあいまいなショートカットについて文句を言い、おそらく何もしません。汚い私は知っている:)

QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+A"), parent);
QObject::connect(shortcut, SIGNAL(activated()), receiver, SLOT(emptySlot()));

接続部分を無視することもできます...

于 2016-01-07T19:13:15.657 に答える