ich habe eine Datenbank in der ein minimal, maximal und aktueller Wert gespeichert ist. Diese drei Eigenschaften möchte ich auf eine QSpinBox übertragen. (minimum, maximum und value)
ich hab folgenden Code:
Code: Alles auswählen
uniquePropertiesSpin[i] = new QSpinBox;
uniqueMapper = new QDataWidgetMapper(this);
uniqueMapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
uniqueMapper->setModel(uniqueItemsModel);
uniqueMapper->setItemDelegate(new QSqlRelationalDelegate(uniqueMapper));
for (size_t i = 0; i < DataManager::PropCount; ++i) {
uniqueMapper->addMapping(uniquePropertiesSpin[i], 23 + i * 4, "minimum");
uniqueMapper->addMapping(uniquePropertiesSpin[i], 24 + i * 4, "maximum");
}Code: Alles auswählen
uniquePropertiesSpin[i] = new QSpinBox;
uniqueMapper = new QDataWidgetMapper(this);
uniqueMapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
uniqueMapper->setModel(uniqueItemsModel);
uniqueMapper->setItemDelegate(new QSqlRelationalDelegate(uniqueMapper));
QDataWidgetMapper *uniqueMapperHelper = new QDataWidgetMapper(this);
uniqueMapperHelper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
uniqueMapperHelper->setModel(uniqueItemsModel);
uniqueMapperHelper->setItemDelegate(new QSqlRelationalDelegate(uniqueMapperHelper));
for (size_t i = 0; i < DataManager::PropCount; ++i) {
uniqueMapperHelper->addMapping(uniquePropertiesSpin[i], 23 + i * 4, "minimum");
uniqueMapper->addMapping(uniquePropertiesSpin[i], 24 + i * 4, "maximum");
}
connect(uniqueMapper, SIGNAL(currentIndexChanged(int)), uniqueMapperHelper, SLOT(setCurrentIndex(int)));Jetzt möchte ich allerdings noch dazu den aktuellen Wert der QSpinBox aus der Datenbank "reinmappen", dazu müsste ich noch einen QDataWidgetMapper erstellen. Allerdings bin ich mit dieser Lösung sehr unzufrieden.
Ist das ein Feature/Bug im QDataWidgetMapper, dass man pro Widget nur ein einziges Mapping haben kann? So wie es jetzt ist ist der QDataWidgetMapper ziemlich nutzlos, wenn ihr mich fragt.
Gibt es für diesen Anwendungsfall andere Klassen? Oder zumindest eine elegante Lösung?