私の QT UI ではQTableWidget
、ユーザーが各セルに double を追加できる を作成する必要があります。
テーブルには 4 つの列があります。最初の列は 0 ~ 255 の値、2 番目の列から 4 番目の列はそれぞれ 0 ~ 1.0 の RGB 値です。
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
、関数が戻ると変数がスコープ外になります。この問題を解決する良い方法は何ですか?