中国建筑招聘官网2022,wordpress 优化 插件,国外视觉设计门户网站,亚马逊雨林有原始人吗对上两篇篇的工作C Qt框架开发| 基于Qt框架开发实时成绩显示排序系统#xff08;1#xff09;-CSDN博客和C Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统#xff08;2#xff09;折线图显示-CSDN博客继续优化#xff0c;增加一个保存按钮#xff0c;用于保存成绩数据…对上两篇篇的工作C Qt框架开发| 基于Qt框架开发实时成绩显示排序系统1-CSDN博客和C Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统2折线图显示-CSDN博客继续优化增加一个保存按钮用于保存成绩数据。 1在ui界面添加一个按钮 将其命名为saveBtn。 2在mainwindow.cpp中添加如下槽函数 QAction* sBtn new QAction(保存);ui-saveBtn-setDefaultAction(sBtn);connect(ui-saveBtn, QToolButton::triggered, this, []() {// 弹出保存文件对话框QString filePath QFileDialog::getSaveFileName(this, tr(保存成绩), , tr(CSV文件 (*.csv)));if (filePath.isEmpty()) return; // 用户取消操作QFile file(filePath);if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {QMessageBox::warning(this, tr(保存失败), tr(无法打开文件进行写入));return;}QTextStream out(file);// 写入标题行QStringList headers;for (int column 0; column proxyModel-columnCount(); column) {headers proxyModel-headerData(column, Qt::Horizontal).toString();}out headers.join(,) \n;// 写入数据行for (int row 0; row proxyModel-rowCount(); row) {QStringList rowItems;for (int column 0; column proxyModel-columnCount(); column) {QModelIndex index proxyModel-index(row, column);rowItems proxyModel-data(index).toString();}out rowItems.join(,) \n;}file.close(); // 关闭文件QMessageBox::information(this, tr(保存成功), tr(成绩表格已成功保存。));});