Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 寻址QTableWidget列_C++_Qt_Input_Widget_Qtablewidget - Fatal编程技术网

C++ 寻址QTableWidget列

C++ 寻址QTableWidget列,c++,qt,input,widget,qtablewidget,C++,Qt,Input,Widget,Qtablewidget,我是一名学生程序员,一直在为我的公司用Qt构建GUI。我正在编写一个成员函数SetData,基本上充当Ui元素和成员变量之间的中介。在这个特定的Ui中,我使用了一个QTableWidge。我似乎无法确切地找出如何将每一列设置为一个变量 例如,如果我的QTableWidget中有列名,而Name是第一列,那么我无法使用传统的数组参数访问它。关于如何解决这一问题,Qt提供的信息非常模糊。。也可能是因为我太业余了,无法理解如何使用类的成员函数来实现我想要的结果 为了澄清这一点,我试图为整个列定义一种数

我是一名学生程序员,一直在为我的公司用Qt构建GUI。我正在编写一个成员函数SetData,基本上充当Ui元素和成员变量之间的中介。在这个特定的Ui中,我使用了一个QTableWidge。我似乎无法确切地找出如何将每一列设置为一个变量

例如,如果我的QTableWidget中有列名,而Name是第一列,那么我无法使用传统的数组参数访问它。关于如何解决这一问题,Qt提供的信息非常模糊。。也可能是因为我太业余了,无法理解如何使用类的成员函数来实现我想要的结果

为了澄清这一点,我试图为整个列定义一种数据类型。比如我的第一个专栏;Name是我创建的一个变量,它是一个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进行了一些研究和尝试;我找到了我要找的东西。如前所述,我需要编写一个setData函数,以提供一种使用QTableWidget将每个单元格设置为某些指定数据的方法。用于将每个项目设置为一个。知道了这一点,我只是填写了目的。这就是我所做的;这就在我的主代码之后

for(int i=0; i<setDataStruct.qTableWidegetlocations.size(); i++)
            {
                QTableWidgetItem *qTableWidgetItemInjectionName = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsInjectionName);
                ui->tableWidgetInjectionLocations->setItem(i,0, qTableWidgetItemInjectionName);
                QTableWidgetItem *qTableWidgetItemInjectionOnOff= new QTableWidgetItem((setDataStruct.qTableWidegetlocations[i].locationsInjectionOnOff));
                ui->tableWidgetInjectionLocations->setItem(i,1, qTableWidgetItemInjectionOnOff);
                QTableWidgetItem *qTableWidgetItemInjectionX = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsX);
                ui->tableWidgetInjectionLocations->setItem(i,2, qTableWidgetItemInjectionX);
                QTableWidgetItem *qTableWidgetItemInjectionY = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsY);
                ui->tableWidgetInjectionLocations->setItem(i,3, qTableWidgetItemInjectionY);
                QTableWidgetItem *qTableWidgetItemInjectionZ = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsZ);
                ui->tableWidgetInjectionLocations->setItem(i,4,qTableWidgetItemInjectionZ);
                QTableWidgetItem *qTableWidgetItemInjectionnx = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsnx);
                ui->tableWidgetInjectionLocations->setItem(i,5,qTableWidgetItemInjectionnx);
                QTableWidgetItem *qTableWidgetItemInjectionny = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsny);
                ui->tableWidgetInjectionLocations->setItem(i,6,qTableWidgetItemInjectionny);
                QTableWidgetItem *qTableWidgetItemInjectionnz = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsnz);
                ui->tableWidgetInjectionLocations->setItem(i,7,qTableWidgetItemInjectionnz);
                QTableWidgetItem *qTableWidgetItemInjectionTemperature = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsTemperature);
                ui->tableWidgetInjectionLocations->setItem(i,8,qTableWidgetItemInjectionTemperature);
                QTableWidgetItem *qTableWidgetItemInjectionWeight = new QTableWidgetItem(setDataStruct.qTableWidegetlocations[i].locationsWeight);
        }
for(int i=0;itableWidgetInjectionLocations->setItem(i,0,qTableWidgetItemInjectionName);
QTableWidgetItem*qtableWidgetItemInjectionNoff=新的QTableWidgetItem((setDataStruct.qtableWidgetLocations[i].LocationsInjectionNoff));
ui->tableWidgetInjectionLocations->setItem(i,1,qTableWidgetItemInjectionNoff);
QTableWidgetItem*qTableWidgetItemInjectionX=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsX);
ui->tableWidgetInjectionLocations->setItem(i,2,qTableWidgetItemInjectionX);
QTableWidgetItem*qTableWidgetItemInjectionY=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsY);
ui->tableWidgetInjectionLocations->setItem(i,3,qTableWidgetItemInjectionY);
QTableWidgetItem*qTableWidgetItemInjectionZ=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsZ);
ui->tableWidgetInjectionLocations->setItem(i,4,qTableWidgetItemInjectionZ);
QTableWidgetItem*qTableWidgetItemInjectionnx=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsnx);
ui->tableWidgetInjectionLocations->setItem(i,5,qTableWidgetItemInjectionnx);
QTableWidgetItem*qTableWidgetItemInjectionny=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsny);
ui->tableWidgetInjectionLocations->setItem(i,6,qTableWidgetItemInjectionny);
QTableWidgetItem*qTableWidgetItemInjectionnz=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsnz);
ui->tableWidgetInjectionLocations->setItem(i,7,qTableWidgetItemInjectionnz);
QTableWidgetItem*qTableWidgetItemInjectionTemperature=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].locationsTemperature);
ui->tableWidgetInjectionLocations->setItem(i,8,qTableWidgetItemInjectionTemperature);
QTableWidgetItem*qTableWidgetItemInjectionWeight=新的QTableWidgetItem(setDataStruct.qtableWidgetLocations[i].LocationsWight);
}

感谢阅读

QTableWidgetItem*newItem=new QTableWidgetItem(tr(“%1”).arg((行+1)*(列+1));tableWidget->setItem(行,列,新项);该文档中的这段代码是否有什么不能为您做的?