QPlainTextEdit中用鼠标去选中一段文案,如果不是点击其他区域只是QPlainTextEdit所在的窗体失去焦点,比如调用clearFocus(),我们会发现选中部分的颜色变了,但并没有恢复到正常态;
我尝试过调用
QPlainTextEdit* m_pContextEdit;
m_pContextEdit->textCursor()->clearSelection(),但效果也一样
那该如何正确处理呢?
废话不多说,代码走起:
void xxx::cancelPlaitEditSelect()
{
if(m_pContextEdit)
{
QString selectStr = m_pContextEdit->textCursor().selectedText();
if(!selectStr.isEmpty())
{
QTextCursor textCursor = m_pContextEdit->textCursor();
int iStart =m_pContextEdit->textCursor().selectionStart();
textCursor.setPosition(iStart);
m_pContextEdit->setTextCursor(textCursor);
}
}
}
算是个迂回的策略吧,但能达到效果