问题描述:
1.相机集成测试项目,出现需要每个机型都需要单独的配置文件,且需要可以自由组合,数据包括:机型,位置点,测试项目,启动指令,结束指令。
2.这些数据需要捆绑,自由组合,保存,显示。
由上需求点,那么需要实现以下功能:
1.相关的数据以一定的格式组合
2.能在界面上输入,保存,读取数据,显示数据。
3.每个参数文件需要分机型保存,需要设置站点且独立保存。
4.显示一目了然,excel是很好的一种显示模式。
代码实现:
先制作一个简易的程序,实现excel的布局显示。
.h代码`
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "ui_mainwindow.h"
#include <QTableView>
#include <QHeaderView>
#include <QStandardItemModel>
#include <QFileDialog>
#include <QTextStream>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow, Ui::MainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QStandardItemModel* model;
};
#endif // MAINWINDOW_H
.cpp的代码文件如下:
clude "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
setupUi(this);
tableView->resize(600, 400);
/* 创建数据模型 *
model = new QStandardItemModel() ;
/* 设置表格视图大小 */
tableView->resize(600, 400);
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({
"LoctionID", "Camera Test", "Start Com", "End Com", "Other"});
/* 自适应所有列,让它布满空间 */
tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
/* 加载共6行数据,并每行有6列数据 */
for (int i = 0; i < 6; i++)
{
/* 加载第一列(ID)数据 */
model->setItem(i, 0, new QStandardItem(QString("10%1").arg(i)));
/* 加载第二列(User Name)数据 */
model->setItem(