私は学生プログラマーであり、会社のQtでGUIを構築しています。基本的に、Ui要素とメンバー変数の間の仲介役として機能するメンバー関数SetDataを作成しています。この特定のUIでは、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の処理でこれがすべて間違っている可能性があります。もしそうなら、このウィジェットを適切に処理する方法についてアドバイスをいただければ幸いです。