У меня есть обычай QTextEdit, который переопределяет ::mouseMoveEvent(QMouseEvent *e)
и ::focusOutEvent(QFocusEvent *e)
. Контекст QTextEdit можно выбрать. В режиме выбора, когда пользователь превышает границы QTextEdit в Я хочу остановить выбор программно, делая это в :: mouseMoveEvent:QTextEdit focusOut программно не работает
if(e->pos().y() < 0)
{
QTextEdit::focusOutEvent(new QFocusEvent(QFocusEvent::FocusOut));
}
Я понял, что, когда пользователь отпускает кнопку мыши, focusOutEvent вызывается немедленно.
Проблема: Несмотря на то, что я вызываю focusOutEvent программно, focusOutEvent не вызывается вообще. Он вызывается только тогда, когда пользователь отпускает щелчок мыши. Я попытался также с mouseReleaseEvent, но это та же проблема.
Почему focusOutEvent не называется? Что может быть сделано? И если есть другое решение моей проблемы? Спасибо!