QtextBrowser打印数据不能实时显示的问题

       在编写程序的时候需要从外部读取txt文件的数据打印到QtextBrowser文本框中,但是发现数据是卡一下然后一起出来,而不是一行一行地实时显示。编程环境是vs2017编译器下的集合qt插件的C++界面编程。

原来的程序段如下:

ui.dataout->clear();
ifstream infile;
infile.open("data.txt");   //将文件流对象与文件连接起来 
string a;
while (getline(infile, a))
{
	QString s = QString::fromStdString(a);
	ui.dataout->append(s);
}
infile.close();             //关闭文件输入流 
此时打印的效果是卡一下,然后输出所有结果,原因是while循环占用了线程,导致无法刷新界面,因而在其中添加刷新进程的函数
QApplication::processEvents();

最后代码为:

ui.dataout->clear();
ifstream infile;
infile.open("data.txt");   //将文件流对象与文件连接起来 
string a;
while (getline(infile, a))
{
	QString s = QString::fromStdString(a);
	ui.dataout->append(s);
        QApplication::processEvents();
}
infile.close();             //关闭文件输入流 

此时可以实现实时显示每一行的打印过程


你可能感兴趣的:(QtextBrowser打印数据不能实时显示的问题)