#include "csv.h"
#include "ui_csv.h"
csv::csv(QWidget *parent) :
QDialog(parent),
ui(new Ui::csv)
{
ui->setupUi(this);
//this->setWindowFlags(Qt::FramelessWindowHint);
//this->setCursor(Qt::BlankCursor);
}
csv::~csv()
{
delete ui;
}
void csv::init()
{
int row = 0;
ui->tableWidget->setColumnCount(5);
ui->tableWidget->clearContents();
ui->tableWidget->setColumnWidth(0,173);
ui->tableWidget->setColumnWidth(1,152);
ui->tableWidget->setColumnWidth(2,152);
ui->tableWidget->setColumnWidth(3,152);
ui->tableWidget->setColumnWidth(4,152);
ui->tableWidget->resizeRowsToContents();
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<tr("参数时间")<<tr("参数排放量")<<tr("参数最大值")<<tr("参数平均值")<<tr("参数最小值"));
ui->tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableWidget->setFont(QFont("仿宋",11));
ui->tableWidget->verticalHeader()->setHidden(true);
ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
while(row <= 5)
{
ui->tableWidget->setRowCount(row+1);
ui->tableWidget->setItem(row,0,new QTableWidgetItem("1"));
ui->tableWidget->setItem(row,1,new QTableWidgetItem("2.131"));
ui->tableWidget->setItem(row,2,new QTableWidgetItem("3.2314"));
ui->tableWidget->setItem(row,3,new QTableWidgetItem("21312.2"));
ui->tableWidget->setItem(row,4,new QTableWidgetItem("afrwqf"));
row++;
}
}
void csv::on_pushButton_clicked()
{
init();
QString filename = QFileDialog::getSaveFileName(this,tr("Excel file"),qApp->applicationDirPath(),tr("Files(*.csv)"));
if(filename.isEmpty())
return;
QFile file(filename);
if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
{
QMessageBox::warning(this,tr("警告"),tr("打不开文件"),QMessageBox::Yes);
return;
}
QString str = "";
QTextStream out(&file);
int row = ui->tableWidget->rowCount();
int horizon = ui->tableWidget->columnCount();
out<<"ceshi"<<"\n";
for(int i = 0; i < horizon; i++)
{
str = ui->tableWidget->horizontalHeaderItem(i)->text();
out<<str<<",";
}
out<<"\n";
for(int i = 0; i < row; i++)
{
for(int j = 0; j < horizon; j++)
{
str = ui->tableWidget->item(i,j)->text();
out<<str<<",";
}
out<<"\n";
}
QMessageBox::information(this,tr("导出数据成功"),tr("信息已保存在%1!").arg(filename),QMessageBox::Yes);
file.close();
}
void csv::on_btn_in_clicked()
{
int i = 0;
QString open_file_name = QFileDialog::getOpenFileName(this,tr("Excel file"),tr("C:\\"),tr("*.csv"));
QFile file(open_file_name);
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QMessageBox::warning(this,tr("open file error :"),tr("%1").arg(file.errorString()),QMessageBox::Yes);
return;
}
QTextStream in(&file);
while(!in.atEnd())
{
QString linrstr = in.readLine();
QStringList list = linrstr.split(",",QString::SkipEmptyParts);
if(i == 1)
{
ui->tableWidget->setColumnCount(list.size());
ui->tableWidget->verticalHeader()->setHidden(true);
ui->tableWidget->setColumnWidth(0,173);
ui->tableWidget->setColumnWidth(1,152);
ui->tableWidget->setColumnWidth(2,152);
ui->tableWidget->setColumnWidth(3,152);
ui->tableWidget->setColumnWidth(4,148);
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<list.at(0)<<list.at(1)<<list.at(2)<<list.at(3)<<list.at(4));
}
else if(i > 1)
{
ui->tableWidget->setRowCount(i-1);
for(int num = 0; num < list.size(); num++)
ui->tableWidget->setItem(i-2,num,new QTableWidgetItem(list.at(num)));
}
i++;
}
file.close();
}
Qt qtablewidget与CSV文件的关系
3星 · 超过75%的资源 需积分: 50 77 浏览量
2016-07-20
09:41:58
上传
评论 6
收藏 7KB RAR 举报
yongxingongchen
- 粉丝: 0
- 资源: 3
最新资源
- 基于相干衍射成像模拟的matlab源码.zip
- 数据分析的MATLAB课件及代码等
- 基于Bi-LSTM的亚马逊评论情感二分类模型及可视化源码(高分项目).zip
- Furina.ini
- 《设计模式解析》课程习题2.docx
- 基于LSTM的影评情感分类python源码+数据集+详细注释.zip
- 加密1加密1加密1加密1加密1加密1加密1加密1加密1
- 首批 Llama3 70B 中文大模型,在C-Eval和CMMLU的表现超过了ChatGPT,与GPT-4持平
- 基于LSTM的影评情感分类python源码+数据集+详细注释.zip
- JAVA自学课件-第八章 AWT及AWT事件处理.pptx(共54页)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈