私は数値エディタを持っていますQSpinBox
NumericEditor::NumericEditor(QWidget *widget): QSpinBox(widget)
このエディタを使用して、のタイプを編集しQVariant::Int
ますQTableWidget
QItemEditorCreatorBase *numericEditor = new QStandardItemEditorCreator<NumericEditor>();
factory->registerEditor(QVariant::Int, numericEditor);
データは通常どおりテーブルに入力されます。「色」という言葉の使用は無視してください。カラーエディタの例に基づいています。
QTableWidgetItem *nameItem2 = new QTableWidgetItem(QString("label2"));
QTableWidgetItem *colorItem2 = new QTableWidgetItem();
colorItem2->setData(Qt::DisplayRole, QVariant(int(4)));
table->setItem(1, 0, nameItem2);
table->setItem(1, 1, colorItem2);
スピンボックスが表示され、QTableWidgetで正常に機能します。
私の望みは、テーブルがセルを編集するときに使用するQSpinBoxのインスタンスにアクセスして、QVariant::Int
最小値と最大値を設定できるようにすることです。
これどうやってするの?