在我的 QT UI 中,我需要创建一个QTableWidget
用户可以在其中向每个单元格添加双精度。
该表有四列:第一列是从 0-255 的值,第二列到第四列分别是 RGB 值,每个从 0-1.0。
void MainWindow::InitializeColorTable(){
QTableWidget *tableColor = ui->tableColor;
tableColor->setRowCount(4);
tableColor->setColumnCount(4);
tableColor->setHorizontalHeaderLabels(QStringList() <<
tr("Value") << tr("R") << tr("G") << tr("B"));
for (int row = 0; row < tableColor->rowCount(); ++row){
tableColor->setCellWidget(row, 0, new QDoubleSpinBox(tableColor));
tableColor->setCellWidget(row, 1, new QDoubleSpinBox(tableColor));
tableColor->setCellWidget(row, 2, new QDoubleSpinBox(tableColor));
tableColor->setCellWidget(row, 3, new QDoubleSpinBox(tableColor));
}
}
我想修改QDoubleSpinBox
对象的属性,例如设置初始值和定义范围。但是,我不确定如何执行此操作。如果我创建QDoubleSpinBox
像
QDoubleSpinBox *box = new QDoubleSpinBox;
box->setValue(0);
box->setRange(0, 255);
tableColor->setCellWidget(row, 0, box);
在我的InitializeColorTable
函数中,box
当函数返回时变量超出范围。解决这个问题的好方法是什么?