2 Star 1 Fork 0

晨月之风 / 文丘里数据拟合

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
simpletable.cpp 3.51 KB
一键复制 编辑 原始数据 按行查看 历史
晨月之风 提交于 2019-11-13 22:47 . first commit
#include <QtWidgets>
#include "simpletable.h"
#include "QString"
void SimpleTable::SetCellText(int cx, int cy, const QString &text,
int alignment)
{
//检查是否越界
if( cx>=rowCount() || cy>=columnCount() )
{
qDebug() <<"cx="<<cx<<"cy="<<cy<< "Fail's', Out of Range";
return;
}
//如果此单元格中已经有item了,就直接更改item中的内容
//否则,新建一个item
QTableWidgetItem *titem = item(cx, cy);
if( NULL == titem )
{
titem = new QTableWidgetItem;
setItem(cx, cy, titem);
}
titem->setText(text);
titem->setTextAlignment(alignment);
}
QString SimpleTable::GetCellText(int cx, int cy)
{
QString result;
if( cx>=rowCount() || cy>=columnCount() )
{
qDebug() << "Fail, Out of Range";
return result;
}
QTableWidgetItem *titem = item(cx, cy);
if( NULL != titem )
{
result = titem->text();
}
return result;
}
bool SimpleTable::readFile(const QString &fileName)
{
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) {
QMessageBox::warning(this, tr("Spreadsheet"),
tr("Cannot read file %1:\n%2.")
.arg(file.fileName())
.arg(file.errorString()));
return false;
}
clear();
QTextStream in(&file);
// in.setVersion(QDataStream::Qt_4_3);
quint16 row;
quint16 column;
QString str;
QApplication::setOverrideCursor(Qt::WaitCursor);
row=0;
column=0;
while(!in.atEnd()){
QString line1=in.readLine();
QStringList fields1=line1.split(',');
foreach(QString word,fields1)
{
SetCellText(row,column, word);
column++;
}
row++;
column=0;
}
QApplication::restoreOverrideCursor();
return true;
}
bool SimpleTable::writeFile(const QString &fileName)
{
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly)) {
QMessageBox::warning(this, tr("Spreadsheet"),
tr("Cannot write file %1:\n%2.")
.arg(file.fileName())
.arg(file.errorString()));
return false;
}
QTextStream out(&file);
// out.setVersion(QDataStream::Qt_4_3);
// out << quint32(MagicNumber);
QApplication::setOverrideCursor(Qt::WaitCursor);
for (int row = 0; row < RowCount; ++row) {
for (int column = 0; column < ColumnCount; ++column) {
QString str = GetCellText(row, column);
if (!str.isEmpty())
//[6] remove the last ,
if (column==0)
out <<str;
else
out<<","<<str;
//[6]
else if ((column>0)&&(str.isEmpty()))
break;
else
{
QApplication::restoreOverrideCursor();
return true;
}
}
out<<endl;
}
QApplication::restoreOverrideCursor();
return true;
}
void SimpleTable::clear()
{
setRowCount(0);
setColumnCount(0);
setRowCount(RowCount);
setColumnCount(ColumnCount);
for (int i = 0; i < ColumnCount; ++i) {
QTableWidgetItem *item = new QTableWidgetItem;
item->setText(QString(QChar('A' + i)));
setHorizontalHeaderItem(i, item);
}
setCurrentCell(0, 0);
}
QString SimpleTable::currentLocation() const
{
return QChar('A' + currentColumn())
+ QString::number(currentRow() + 1);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/zxwmail/venturi_data_fitting.git
git@gitee.com:zxwmail/venturi_data_fitting.git
zxwmail
venturi_data_fitting
文丘里数据拟合
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891