とをオーバーライドするカスタムQTextEdit::mouseMoveEvent(QMouseEvent *e)
があります::focusOutEvent(QFocusEvent *e)
。QTextEdit のコンテキストは選択可能です。選択モードでは、ユーザーが QTextEdit の境界を超えたときに、::mouseMoveEvent でこれを行うことにより、プログラムで選択を停止したいと考えています。
if(e->pos().y() < 0)
{
QTextEdit::focusOutEvent(new QFocusEvent(QFocusEvent::FocusOut));
}
ユーザーがマウスを離すと、すぐに focusOutEvent が呼び出されることがわかりました。
問題: プログラムで focusOutEvent を呼び出しても、focusOutEvent がまったく呼び出されません。ユーザーがマウス クリックを離したときにのみ呼び出されます。mouseReleaseEvent でも試しましたが、同じ問題です。
なぜ focusOutEvent が呼び出されないのですか? 何ができるでしょうか?そして、私の問題に対する別の解決策があるとしたら? ありがとうございました!