当前位置: 技术问答>linux和unix
请问为什么我的QTextBrowser控件只显示了最后一行?
来源: 互联网 发布时间:2016-02-26
本文导语: 我用QT和KDevelop编程,原本想将根下的一个文本文件log的内容通过QTextBrowser控件全部显示出来,但事实确是只显示了一行,而且是最后一行,不知道问题出在哪里,还是控件的属性设置有问题,请各位高手不吝赐教,到底怎么修...
我用QT和KDevelop编程,原本想将根下的一个文本文件log的内容通过QTextBrowser控件全部显示出来,但事实确是只显示了一行,而且是最后一行,不知道问题出在哪里,还是控件的属性设置有问题,请各位高手不吝赐教,到底怎么修改或实现,多谢!
程序清单如下:
QStringList lines;
QFile file( "/log" );
if ( file.open( IO_ReadOnly ) ) {
QTextStream stream( &file );
QString line;
while ( !stream.eof() ) {
printf("n");
line = stream.readLine();
textBrowser1->setText(line.latin1());
lines += line;
}
file.close();
程序清单如下:
QStringList lines;
QFile file( "/log" );
if ( file.open( IO_ReadOnly ) ) {
QTextStream stream( &file );
QString line;
while ( !stream.eof() ) {
printf("n");
line = stream.readLine();
textBrowser1->setText(line.latin1());
lines += line;
}
file.close();
|
手边没有资料。但是看上去应该是这一行出问题了:
textBrowser1->setText(line.latin1());
你每次都把内容设置成新的一行,最后当然只显示最后一行了。
看看textBrowser有没有类似appendText之类的函数添加新行。
或者你把这一行去掉,在循环外面一次设置,象这样:
textBrowser1->setText(lines.latin1());
注意是;lines不是line
textBrowser1->setText(line.latin1());
你每次都把内容设置成新的一行,最后当然只显示最后一行了。
看看textBrowser有没有类似appendText之类的函数添加新行。
或者你把这一行去掉,在循环外面一次设置,象这样:
textBrowser1->setText(lines.latin1());
注意是;lines不是line