(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)
谢谢