У меня есть форма с тремя полями, и я пытаюсь заполнить эти поля со значениями из model.Below является код в моем файле заголовка, и файл .cpp:как использовать QDataWidgetMapper с QLineEdit
декларации в myForm.h
private:
Ui::MyForm *ui;
QStringListModel *model;
QDataWidgetMapper *mapper;
Код в myForm.cpp
model=new QStringListModel(this);
QStringList list;
list << "abc"<<"def"<<"ghi";
model->setStringList(list);
mapper=new QDataWidgetMapper();
mapper->setModel(model);
mapper->addMapping(ui->lineEdit_13,0);
mapper->toFirst();
Когда я запускаю приложение, к которому текстовое поле заполняется с первым значением, которое является «абв». Я не уверен, как я могу использовать QDataWidgetMapper для заполнения двух других значений «def» и «ghi» в двух других текстовых полях формы. Я просмотрел различные параметры, доступные для QDataWidgetMapper, и не знал, как заполнять данные. Он всегда заполняет только одно значение, а два других поля пустые. Как все три значения могут быть прочитаны из модели или я делаю что-то неправильно здесь? Я только начал использовать модели в своем приложении Qt.
QDataWidgetMapper отображает либо одну строку или один столбец виджетов. Модель списка содержит каждый элемент в виде строки в одном столбце. Что именно вы хотите сделать? Что вы хотите, чтобы виджеты отображались после 'mapper-> toNext()'? – Leiaz
@Leiaz У меня есть список из трех значений, и этот список прикреплен к модели, как показано выше. Я хочу, чтобы все три значения отображались в трех текстовых полях. Как я хочу, чтобы первое текстовое поле отображало «abc» следующее поле для отображения «def» и последнего «ghi». Как я могу получить эту функциональность? – Valla