Я студент-программист и строю графический интерфейс на Qt для своей компании. Я пишу функцию-член SetData, которая в основном выступает в качестве посредника между моими элементами пользовательского интерфейса и переменными-членами. В этом конкретном интерфейсе я использую QTableWidge. Я не могу выяснить, как именно установить каждый столбец в переменную.
Например, если в моем QTableWidget есть столбец Name, а Name - первый столбец, я не могу получить к нему доступ, используя традиционные параметры массива. Документация от Qt действительно неясно, как решить эту проблему. Возможно, я все еще слишком любитель, чтобы понять, как использовать функции-члены класса для достижения желаемых результатов.
Чтобы уточнить, я пытаюсь определить тип данных для всего столбца. Например, мой первый столбец; Имя, будет созданная мною переменная типа данных QString. и SetData передаст его в конечном итоге QVector или QList. Вот код, который я набрал до сих пор, чтобы дать представление о том, что я думал, что смогу сделать.
void InjectionDialog::setData(InjectionData &setDataStruct)
{
/*The following setData functions assists in creating a new instance of
the Injection dialog with whatever values are passed to setDataStruct*/
QString str;//created str to make datatype conversion
ui->lineEditFluidVelocity->setText(str.setNum(setDataStruct.lineEditFluidVelocity));
ui->lineEditFluidMassFlow->setText(str.setNum(setDataStruct.lineEditFluidMassFlow));
ui->lineEditFluidArea->setText(str.setNum(setDataStruct.lineEditFluidArea));
ui->lineEditFluidTemperature->setText(str.setNum(setDataStruct.lineEditFluidTemperture));
ui->lineEditFluidPressure->setText(str.setNum(setDataStruct.lineEditPressure));
ui->lineEditParticleManual->setText(str.setNum(setDataStruct.lineEditManualParticlesPerCell));
ui->lineEditParticleVelocity->setText(str.setNum(setDataStruct.lineEditParitcleVelocity));
ui->lineEditParticleMassFlow->setText(str.setNum(setDataStruct.lineEditParticleMassFlow));
ui->lineEditParticleArea->setText(str.setNum(setDataStruct.lineEditParticleArea));
ui->lineEditParticleTemperature->setText(str.setNum(setDataStruct.lineEditParticleTemperture));
ui->tableWidgetInjectionLocations //this is where I got stuck
}
Я знаю, что QTreeView имеет возможность устанавливать элементы путем делегирования столбцов, но мне нужно, чтобы эти поля можно было редактировать. Я мог бы ошибаться в обработке моего QTableWidget; если да, то я ценю любой совет, как правильно обращаться с этим виджетом.