私は学生プログラマーであり、私の会社のQtでGUIを構築しています。私は基本的に私のUi要素とメンバー変数の間の仲介者として動作するようにメンバー関数SetDataを書いています。この特定のUiでは、QTableWidgeを使用しています。私は正確に各列を変数に設定する方法を見つけることができないようです。QTableWidget Columsのアドレス指定
たとえば、QTableWidgetに列Nameがあり、Nameが最初の列の場合、従来の配列パラメーターを使用してアクセスできません。 Qtのdocumentationは本当にこの問題に対処する方法としてはあまりにも面倒です。クラスのメンバ関数を使って私がここで望む結果を得る方法を理解するには、あまりにも素人です。
明確にするために、私は列全体のデータ型を定義しようとしています。たとえば私の最初の列。名前は、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を処理するにあたって、このすべてが間違っている可能性があります。もしそうなら、私はこのウィジェットを適切に処理するためのアドバイスを感謝します。
QTableWidgetItem * newItem =新しいQTableWidgetItem(TR( "%1")のarg( (行+ 1)*(カラム+ 1))。)読んでくれてありがとう。 tableWidget-> setItem(row、column、newItem); この文書のこのコードはあなたのためにできないものはありますか? – ksming