最近写一个串口通信程序,从串口连续接收数据,从textEdit上显示。
因为数据是连续的,所以屏幕不停的滚动,光标位置也在不停的变化。
因为使用的是insertPlainText,这个函数是随着光标的位置来插入的,
所以当在textEdit中点击鼠标后,出现了光标位置的变动,导致insert的数据
发生了偏移,覆盖原来的数据等情况。
 
解决办法:
定一一个全局的QTextCursor变量,记录上次插入后光标的位置。
 
QTextCursor Qcursor;  //定义全局变量
 
Qcursor = text.textCursor();//初始化时,定义好位置。
 
text ->setTextCursor (Qcursor );              //实现部分
text->insertPlainText(temp);
Qcursor = text->textCursor();