QT写入文本文件

#include "intercalate.h"
#include <QMessageBox>
#include <QTextStream>
#include <QDebug>
#include <QtCore/QTextCodec>
InterCalate::InterCalate(QWidget *parent) : QWidget (parent){
setupUi(this);
QAction *select = new QAction(tr("确定"),this);
select->setSoftKeyRole(QAction::PositiveSoftKey);
this->addAction(select);
QAction *quet = new QAction(tr("取消"),this);
quet->setSoftKeyRole(QAction::NegativeSoftKey);
this->addAction(quet);
connect(select,SIGNAL(triggered(bool)),this,SLOT(writefile(bool)));
connect(quet,SIGNAL(triggered(bool)),this,SLOT(cancelpushBtn(bool)));
readfile();
}
InterCalate::~InterCalate(){


}
void InterCalate::readfile(){
#ifdef _DEBUG
QFile file1("c:\\sss.txt");
#else 
QFile file1("e:\\project\\sss.txt");
#endif
if(!file1.open(QFile::ReadWrite|QFile::Text)){
QMessageBox::warning(this,tr("open"),tr("open failed!"));
}
QTextCodec *code=QTextCodec::codecForName("GB2312");//
QTextStream stream(&file1);
stream.setCodec(code);
QString line = stream.readLine();
if(line == ",,"||line == ""){
nameLineEdit->setText("");
telLineEdit->setText("");
untieLineEdit->setText("");
}
else{
QList<QString> elems = line.split(",");
nameLineEdit->setText(elems.at(0));
telLineEdit->setText(elems.at(1));
untieLineEdit->setText(elems.at(2));
}
file1.close();
}
void InterCalate::writefile(bool chick){
if(!chick){
#ifdef _DEBUG
QFile file("c:\\sss.txt");
#else 
QFile file("e:\\project\\sss.txt");
#endif
if(!file.open(QFile::WriteOnly|QFile::Text|QFile::Truncate)){
QMessageBox::warning(this,tr("open"),tr("open failed!"));
}

QString str;
str.append(nameLineEdit->text());
str.append(",");
str.append(telLineEdit->text());
str.append(",");
str.append(untieLineEdit->text());
QTextCodec *code1=QTextCodec::codecForName("GB2312");//
QTextStream stream(&file);
stream.setCodec(code1);
stream<<str;
file.close();
this->hide();
}
}
void InterCalate::cancelpushBtn(bool chick){
if(!chick)
this->hide();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值