【发布时间】:2016-01-05 11:47:07
【问题描述】:
我有一个只读的QTextEdit。我可以选择文本并复制它。 我需要做的:当用户处于选择模式(选择文本)时,如果他离开该区域(仍然按住鼠标左键)小部件必须失去焦点,选择焦点也必须结束。当鼠标退出越界时,我希望类似于鼠标释放。我试图设置这个:
rootWidget->clearFocus();
rootWidget->close();
rootWidget->releaseMouse();
但即使在视觉上小部件似乎没有焦点,我仍然会收到我的小部件的TextEdit::mouseMoveEvent()。
我还尝试将焦点设置到虚拟小部件。虚拟小部件获得焦点,但我的 textedit 坐下获得 mouseMoveEvent()。
如何在不释放鼠标按钮的情况下完全失去小部件的焦点?
感谢您的任何建议!
【问题讨论】:
-
QWidget 有方法
grabMouse()。尝试使用您的虚拟小部件调用它。然后拨打releaseMouse()
标签: qt selection qwidget qtextedit