Qt tableWidget的使用: 从文件读数据,动态添加到表格中显示
Qt tableWidget的使用: 从文件读数据,动态添加到表格中显示
需要从一个有序的文件中读取数据,显示到表格里面
2.代码实现
2.0 注意点
建立表格必须先设置列数,不然表格无法显示
对文件操作,记住要关闭
动态添加行的理解,第一次插入数据,当前行数为0,正好插入的是第0行(实际上看到的是第一行,下一次插入数据,此时行数为1,正好插入第1行(实际上看到的是第二行),下面依次类推
int rowCount = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(rowCount);
1
2
2.1 需要的头文件
#include <QFile>
#include <QTextStream>
1
2
2.2 正文
//设置表格的列数,必须要先设置,不然表格显示不出来
ui->tableWidget->setColumnCount(4);
//建立表头
QStringList header;
header << "col0" << "col1" << "col2" << "col3";
ui->tableWidget->setHorizontalHeaderLabels(header);
//设置表头显示模式,这里设置的是拉伸模式
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//从文件读取数据
QFile f("../test.txt");
f.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream output(&f);
output.setCodec("UTF-8");
QHash<QString, QString> varHash;
QString lineStr;//文件的每一行的字符串
QStringList lineList; //整行字符串,分割处理为单个字符串,存入到表中
varHash.clear();
lineList.clear();//操作前,清空
//遍历文件
while(!output.atEnd())
{
lineStr = output.readLine(); //读取文件的一行
lineList = lineStr.split('\t'); //去除换行符获取字符串,存放到表中
//向表里面动态添加参数
int rowCount = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(rowCount);
for(int i = 0; i < 4; i++)
{
ui->tableWidget->setItem(rowCount,i,new QTableWidgetItem(lineList[i]));
}
}
f.close();//关闭文件
3. 结果显示
4. 参考
Qt tablewidget用法总结
————————————————
版权声明:本文为CSDN博主「Swichil」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42235198/article/details/109314320
需要从一个有序的文件中读取数据,显示到表格里面
2.代码实现
2.0 注意点
建立表格必须先设置列数,不然表格无法显示
对文件操作,记住要关闭
动态添加行的理解,第一次插入数据,当前行数为0,正好插入的是第0行(实际上看到的是第一行,下一次插入数据,此时行数为1,正好插入第1行(实际上看到的是第二行),下面依次类推
int rowCount = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(rowCount);
1
2
2.1 需要的头文件
#include <QFile>
#include <QTextStream>
1
2
2.2 正文
//设置表格的列数,必须要先设置,不然表格显示不出来
ui->tableWidget->setColumnCount(4);
//建立表头
QStringList header;
header << "col0" << "col1" << "col2" << "col3";
ui->tableWidget->setHorizontalHeaderLabels(header);
//设置表头显示模式,这里设置的是拉伸模式
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//从文件读取数据
QFile f("../test.txt");
f.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream output(&f);
output.setCodec("UTF-8");
QHash<QString, QString> varHash;
QString lineStr;//文件的每一行的字符串
QStringList lineList; //整行字符串,分割处理为单个字符串,存入到表中
varHash.clear();
lineList.clear();//操作前,清空
//遍历文件
while(!output.atEnd())
{
lineStr = output.readLine(); //读取文件的一行
lineList = lineStr.split('\t'); //去除换行符获取字符串,存放到表中
//向表里面动态添加参数
int rowCount = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(rowCount);
for(int i = 0; i < 4; i++)
{
ui->tableWidget->setItem(rowCount,i,new QTableWidgetItem(lineList[i]));
}
}
f.close();//关闭文件
3. 结果显示
4. 参考
Qt tablewidget用法总结
————————————————
版权声明:本文为CSDN博主「Swichil」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42235198/article/details/109314320
                    
                
                
            
        
浙公网安备 33010602011771号