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)
這個是追加寫入的意思