• 6116阅读
  • 2回复

关于QFile与QTextStream的问题 [复制链接]

上一主题 下一主题
离线zhangjinhui
 
只看楼主 倒序阅读 楼主  发表于: 2007-05-14
— 本帖被 XChinux 执行加亮操作(2008-07-19) —
大家好,本人正在学习QT编程。最近本人研究文件编程,想用QTextEdit从键盘接收字符数据,并将其保存到自定义的文件路径中:
class filesave : QWidget
{
public:
  filesave();
private:
  QTextEdit *wedit;
}
filesave :: filesave()
{
  QFile myfile("usr/zjh-new/data/test") //比如,这是我要保存文件的路径和文件名;
if(!myfile.open(IO_WriteOnly))
  return;
QTextStream ts(&myfile);
ts<<wedit->text()<<endl;
}
int main(int argc,char **argv)
{
  QApplication a(argc,argv);
filesave b;
a.setMainWidget(&b);
b.show();
a.exec();
return 0;
}
这本该是个极其容易的程序啊,可是,我发现,程序运行后,不论我在文本框里输什么,输完后,打开text文件,里面都是空的,也就是说, 我写的东西根本就没有保存下来。究竟是怎么回事?问题出在哪呢?请帮我解答一下吧,我真的已经想了好几天了……(谢谢了……)
离线wmquan
只看该作者 1楼 发表于: 2007-05-14
使用的QT3?
没有 QTextEdit *edit = new QTextEdit(this),你的文本框怎么显示的
filesave::filesave()是QWidget继承类的构造函数,在filesave b;语句后就执行完了(此时edit里面当然什么都没有)
要么在~filesave()中保存,要么再画个按钮触发保存事件
学好C++
离线zhangjinhui
只看该作者 2楼 发表于: 2007-05-14
嗯,呵呵,今天早上已经弄明白了!谢谢答复
快速回复
限100 字节
 
上一个 下一个