模板建站和自助建站,奇客影院wordpress,分切机网站建设,站酷网素材对上一篇的工作C学习笔记 | 基于Qt框架开发实时成绩显示排序系统1-CSDN博客继续优化#xff0c;增加一个显示运动员每组成绩的折线图。 1#xff09;在Qt Creator的项目文件#xff08;.pro文件#xff09;中添加对Qt Charts模块的支持#xff1a;
QT charts
2#xf…对上一篇的工作C学习笔记 | 基于Qt框架开发实时成绩显示排序系统1-CSDN博客继续优化增加一个显示运动员每组成绩的折线图。 1在Qt Creator的项目文件.pro文件中添加对Qt Charts模块的支持
QT charts
2在 AthleteModel.h 中添加
public:// 获取所有运动员的列表std::vectorAthlete getAthletes() const;3)在athletemodel.cpp的最后添加
std::vectorAthlete AthleteModel::getAthletes() const {std::vectorAthlete athletesList;for (int row 0; row rowCount(); row) {Athlete athlete;athlete.name item(row, 0)-text().toStdString();for (int col 1; col 6; col) { // 假设前6列是成绩athlete.scores[col - 1] item(row, col)-text().toFloat();}athlete.totalScore item(row, 7)-text().toFloat(); // 假设第7列是总分athletesList.push_back(athlete);}return athletesList;
} 3需要确保UI中有一个Tool Button按钮命名为actionBtn 4在mainwindow.cpp中添加按钮以及其槽函数
//其他内容....
#include QtCharts
using namespace QtCharts;//其他代码....QAction* actBtn new QAction(QIcon(:/ZXT.png), 折线图);ui-actionBtn-setDefaultAction(actBtn);connect(ui-actionBtn, QToolButton::triggered, this, []() {QChart *chart new QChart();chart-setTitle(运动员成绩折线图);chart-legend()-setVisible(true);chart-legend()-setAlignment(Qt::AlignBottom);// 获取所有运动员的列表auto athletes model-getAthletes();for (const auto athlete : athletes) {QLineSeries *series new QLineSeries();series-setName(QString::fromStdString(athlete.name));for (int i 0; i 6; i) { // 假设有6次成绩series-append(i 1, athlete.scores[i]); // 添加每次成绩到序列}chart-addSeries(series);}chart-createDefaultAxes();if (!athletes.empty()) {// 假设所有运动员至少有一次成绩设置水平轴范围为1到6chart-axes(Qt::Horizontal).first()-setRange(1, 6);// 这里需要确定垂直轴的合适范围float maxScore 0;float minScore 200;for (const auto athlete : athletes) {for (float score : athlete.scores) {if (score maxScore) maxScore score;if (score minScore) minScore score;}}chart-axes(Qt::Vertical).first()-setRange(minScore, maxScore);}QChartView *chartView new QChartView(chart);chartView-setRenderHint(QPainter::Antialiasing);// 创建一个新窗口显示这个图表QMainWindow *chartWindow new QMainWindow();chartWindow-setCentralWidget(chartView);chartWindow-resize(1000, 500);chartWindow-setWindowIcon(QIcon(:/ZXT.png));chartWindow-setWindowTitle(成绩折线图);chartWindow-show();});ui-actionBtn-setToolButtonStyle(Qt::ToolButtonTextUnderIcon);//其他代码.... 5最后导出安装
参考这篇博文QT导出安装文件的方法WIN和Andriod平台_qt怎么导出项目-CSDN博客
windeployqt study_Qt.exe 我的下一篇博文对该程序继续优化增加了保存按钮C Qt框架开发|基于Qt框架开发实时成绩显示排序系统3 保存表格数据-CSDN博客