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();             //关闭文件输入流 

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


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值