(162)插入行按钮的实现 :

++


(163)插入行按钮 :

++效果图如下 :

(164)删除行按钮的实现 :

++效果图 :

(165)左中右对齐按钮 :

++

(166)设置粗体,跟设置对齐很接近 :

(167)保存文件的按钮,没有实现,应该是为了降低学习的难度,但老师的标准代码,很值得学习,记录如下:


++给出代码版 :
//保存为文件,虽然没有此按钮,但也要谢谢老师们写的保存文件的的代码范例。
void MainWindow::on_actSave_triggered()
{ QString curPath = QCoreApplication::applicationDirPath();
//获取应用程序的路径
//调用打开文件对话框选择一个文件
QString aFileName = QFileDialog::getSaveFileName(this, tr("选择一个文件"),
curPath, "斜数据文件(*.txt);;所有文件(*.*)");
if (aFileName.isEmpty()) return; //未选择文件,退出
QFile aFile(aFileName);
if (!(aFile.open(QIODevice::ReadWrite
| QIODevice::Text | QIODevice::Truncate)))
return; //以读写、覆盖原有内容方式打开文件
QTextStream aStream( & aFile); //用文本流读取文件
QStandardItem * aItem; int i, j; QString str;
ui->plainTextEdit->clear();
for ( i = 0; i < m_model->columnCount(); i++) //获取表头文字
{ aItem = m_model->horizontalHeaderItem(i); //获取表头的项数据
str = str + aItem->text() + "\t\t"; //以TAB见隔开
}
aStream << str << "\n"; //文件里需要加入换行符 \n
ui->plainTextEdit->appendPlainText(str);
for ( i = 0; i < m_model->rowCount(); i++) //获取数据区文字
{ str = ""; //最后一列的数据单独处理
for( j = 0; j < m_model->columnCount() - 1; j++)
{ aItem = m_model->item(i, j);
str = str + aItem->text() + "\t\t";
}
aItem = m_model->item(i, j); //最后一列是逻辑型
if ( aItem->checkState() == Qt::Checked ) str = str + "1";
else str = str + "0";
ui->plainTextEdit->appendPlainText(str);
aStream << str << "\n";
} //结尾为什么不关闭文件呢?
}
(168)
谢谢
QT6:二维表模型视图及数据保存文件实现
5.3 QStandardltemModel 和 QTableView 篇二:二维表的模型与视图,继续源代码实现。并补充记录了如何保存修改后的表格模型里的数据到文件里。&spm=1001.2101.3001.5002&articleId=148963696&d=1&t=3&u=846dbbba4bd3469cbfc0bf7382b079a9)
3546

被折叠的 条评论
为什么被折叠?



