1. QT 读取文件写入Qtablewidget中
1、HeatUser类
classHeatUser
{
public:
HeatUser(){
}
HeatUser(QStringname,floatflow,floatdistance,shorttime){
strcpy(Name,name.toLocal8Bit().data());
Flow=flow;
Distance=distance;
Time=time;
}
~HeatUser(){
}
QStringgetName(){
returnName;
}
QStringgetFlow(){
returnQString("%1").arg(Flow);
}
QStringgetDistance(){
returnQString("%1").arg(Distance);
}
QStringgetTime(){
returnQString("%1").arg(Time);
}
private:
charName[30];
floatFlow;
floatDistance;
shortTime;
};
2、对象初始化
QFilefile("aa.txt");
if(file.open(QIODevice::ReadOnly))
{
QTextStreamstream(&file);
while(!stream.atEnd())
{
QStringListlist=stream.readLine().split(QRegExp("\s+"));
HeatUserhUser(list.at(0),static_cast<QString>(list.at(1)).toFloat(),
static_cast<QString>(list.at(2)).toFloat(),
static_cast<QString>(list.at(3)).toShort());
vec.push_back(hUser);
}
}
3、文件内容
aa126.022.699
bb165.023.6100
4、写入Qtablewidget
ui->tableWidget->setRowCount(2);//设置行数为2
ui->tableWidget->setColumnCount(4);//设置列数为4
QStringListheader;
header<<"Name"<<"Flow"<<"Distance"<<"Time";
ui->tableWidget->setHorizontalHeaderLabels(header);
for(inti=0;i<vec.count();i++)
{
ui->tableWidget->setItem(i,0,newQTableWidgetItem(vec[i].getName()));
ui->tableWidget->setItem(i,1,newQTableWidgetItem(vec[i].getFlow()));
ui->tableWidget->setItem(i,2,newQTableWidgetItem(vec[i].getDistance()));
ui->tableWidget->setItem(i,3,newQTableWidgetItem(vec[i].getTime()));
}
2. qt中怎样将lineEdit的内容写入文件并保存
长了脑子是要用的。
打开QtCreator的帮助页面,找到
Qt Reference Documentation ---》Classes--》QLineEdit Class Reference
看到QLineEdit的帮助文档,
Signals
void cursorPositionChanged ( int old, int new )
void editingFinished ()
void returnPressed ()
void selectionChanged ()
void textChanged ( const QString & text )
void textEdited ( const QString & text )
textEdited()是一个信号,不是函数,不能干任何事,这是用于触发其他槽函数的。
获取文本的函数:
Public Functions
QString text () const
获取文本用lineEdit->text() ;
这么简单都不用脑子?
Access functions:访问文本的函数
QString text () const
void setText ( const QString & )
Notifier signal:通知信号
void textChanged ( const QString & text )
3. QT中 怎么修改文件里的内容和增加文件里面的内容,会读,会写就是搞不明白
新增:将 游标定位到 文件尾,新增内容后保存
修改:将游标 定位到要修改的位置,删除要删除的,添加新的内容,然后保存
4. qt如何把链表中的数据写入文件,并且把文件里面的内容加载到链表
先遍历QList,将里面每个对象都写到文件,然后保存
再打开文件,一个按一个Object读出来,恢复Object的状态,最后一个个的push进QList里面
5. qt的qfile中怎样添加内容到txt文档中
1.file.open(QFile::Append);
加这个选项
2.一般在中间插入都是确定知道文件的结构
file.seek(pos);
file.write(sth);
通过相应的位移实现
6. 谁知道QT中如何进行文件读写操作
#include <qfile.h>
#include <qtextstream.h>
1. 打开文件
QFile f( fn );//fn可以是一 个相对路径或绝对路径
f.open(IO_);//一般不要IO_ReadWrite,很容易出现赃数据
//如果要在文件的后面添加内 容要IO_WriteOnly|IO_Append
//如果要清空原来的内容,只要IO_WriteOnly
//IO_Translate用来读windows文 件,linux下的回车换行是/n,windows下是/r/n
2. 写文件
QTextStream s( &f );
s<<"Hello,world!!!"<<"/n";
3. 读一行文件
readLine(),每读一 行自动下移一行
atEnd()判断是否到文件末尾
4. 关闭文件
f.close();
5. 对文件的读操 作:
QString fileName = QFileDialog::getOpenFileName( QString::null, QString::null, this);
QFile f (fileName);
f.open(IO_ReadOnly);
QTextStream t(&f);
MultiLineEdit1->setText( t.read() );
f.close();
MultiLineEdit1->setAutoUpdate( TRUE );
MultiLineEdit1->repaint ();
setCaption( fileName );
6. 对文件的写操作:
QString fileName = QFileDialog::getSaveFileName( QString::null, QString::null, this );
QFile f( fileName );
f.open (IO_WriteOnly );
QTextStream t(&f);
t << MultiLineEdit1->text();
f.close();
7. QT中打开文件如何追加写入
file.open(QIODevice::WriteOnly|QIODevice::Append)
这个是追加写入的意思