QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1000|回复: 4

小妹想请教QT下关于文件输出的问题!

[复制链接]
发表于 2005-5-18 17:31:21 | 显示全部楼层 |阅读模式
我现在想在一个MultiLineEdit下输出一个文件,我尝试者些了这样的代码,
medit=new QMultiLineEdit(this);

medit->setGeometry( QRect( 210, 20, 370, 300 ) );
之后我用一个按钮调用一个Slot
void closeForm::textshowSlot()
{
   QFile myFile("/home/ztt/music/abc");

   myFile.open(IO_ReadOnly);


   QTextStream myStream(&myFile);


   QString myString;


   while(myStream.atEnd()==0)

   {

     myString=myStream.readLine();

     medit->insertLine(myString);

   }


     myFile.close();

}

可是,它却不能输出,只显示了空白的MultiLineEdit,是不是有个什么显示的语句没有写呢?怎么写呢?呵呵,各位大侠情帮忙,十分感激!拜托各位了!*^_^*
 楼主| 发表于 2005-5-19 09:05:28 | 显示全部楼层
你不说我还真没有发现,真的没有呀,可是QT的书上有这个类,而且,这个类我是可以显示出来QMultiLineEdit的,呵呵!就是不能显示我需要打开的文件!
回复

使用道具 举报

发表于 2005-5-19 18:13:19 | 显示全部楼层
对于你的问题,我看了一下trolltech文档,里面确实有这个类,参考:
http://doc.trolltech.com/3.3/qmultilineedit.html

这是我从你摘得关于插入字符串函数,具体我就不用说了。
void QMultiLineEdit::insertLine ( const QString & txt, int line = -1 ) [virtual]
Inserts txt at paragraph number line. If line is less than zero, or larger than the number of paragraphs, the new text is put at the end. If txt contains newline characters, several paragraphs are inserted.
The cursor position is not changed.

你最好把
[code:1]while(myStream.atEnd()==0) [/code:1]
改成
[code:1]while(!myStream.atEnd()) [/code:1]
其他的应该没什么问题。你先试试,如果没什么问题,这样你得检查一下权限,文件是否存在。
回复

使用道具 举报

发表于 2005-5-19 18:17:36 | 显示全部楼层
QT编程,重要的是模式,可以参考VB
其次是编程思维,可以参考Object C/C++/Java和linux
再次注意编程风格,这个就是自己磨出来的。
最后看看算法,这就够了
回复

使用道具 举报

 楼主| 发表于 2005-5-20 09:20:10 | 显示全部楼层
多谢各位大侠指点,我已经可以将文本输出了,呵呵!太感激大家了!*^_^*
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 00:43 , Processed in 0.073661 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表