Qt学习记录1
使用QSqlTableModel模型从数据库读取数据并将数据通过QTableView展示。
QSqlTableModel *model = new QSqlTableModel(nullptr,DataBase::database);//
model->setTable("steadyData");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
//model->setFilter("testType= '1'");// 查询条件
model->select(); //查询数据
model->removeColumns(0,2); //隐藏从0列开始的前2列
static NumericDelegate *decDelegate1 = new NumericDelegate(1,ui->tbTestResult);//设置小数位数
model->setHeaderData(model->fieldIndex("stdLoadPercent"),Qt::Horizontal,tr("负载状况 (%)")); //绑定字段名和表头
ui->tbTestResult->setItemDelegateForColumn(0,decDelegate1);
model->setHeaderData(model->fieldIndex("stdLoadPower"),Qt::Horizontal,tr("有功功率 (kW)"));
ui->tbTestResult->setItemDelegateForColumn(1,decDelegate1);
......
//tableview相关设置
table->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);
table->verticalHeader()->setVisible(false);
table->setFocusPolicy(Qt::NoFocus);
table->setAlternatingRowColors(true);
table->setSelectionMode(QAbstractItemView::SingleSelection);
table->setSelectionBehavior(QAbstractItemView::SelectRows);
table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
table->horizontalHeader()->setStretchLastSection(true);
table->setShowGrid(true);
table->setGridStyle(Qt::SolidLine);
table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
table->setModel(model);