C++ QTableWidget-setCellWidget缺少添加项?

C++ QTableWidget-setCellWidget缺少添加项?,c++,qt,widget,qtablewidget,C++,Qt,Widget,Qtablewidget,我只是尝试将小部件添加到我的表小部件中,我正在尝试下面的代码,但是在我运行程序的所有时间里,第一个小部件都被添加了,而其余的小部件都没有添加。你能帮我解决这个问题吗 if(req.at(index).request.CodedValue.size() > 1 ) { int rowNumber = -1; for ( int paramNumber = 0 ; paramNumber < req.at(index).request.params.size(); par

我只是尝试将小部件添加到我的表小部件中,我正在尝试下面的代码,但是在我运行程序的所有时间里,第一个小部件都被添加了,而其余的小部件都没有添加。你能帮我解决这个问题吗

if(req.at(index).request.CodedValue.size() > 1 )
{
    int rowNumber = -1;
    for ( int paramNumber = 0 ; paramNumber < req.at(index).request.params.size(); paramNumber++)
    {

        if(req[index].request.params[paramNumber].semantic == "DATA")
        {
            rowNumber++;
            QComboBox* reqComboBox = new QComboBox();
            QLineEdit* tableReqLineEdit = new QLineEdit();

            for ( int codedCounter = 0; codedCounter < req.at(index).request.CodedValue.at(paramNumber).trams.size(); codedCounter++)
            {
                // you should look for the subfunctions and add according to them   
                reqComboBox->addItem((req[index].request.CodedValue[paramNumber].trams[codedCounter].valueName));
                QObject::connect(reqComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_tableCombobox_currentIndex());
            }
            ui.tableWidget->setCellWidget(rowNumber,1,reqComboBox);

        }
    }
}
if(req.at(index.request.CodedValue.size()>1)
{
int rowNumber=-1;
for(int paramNumber=0;paramNumberaddItem((req[index].request.CodedValue[paramNumber].trams[codedCounter].valueName));
QObject::connect(reqComboBox,信号(currentIndexChanged(int)),此,插槽(在_tableCombobox_currentIndex()上);
}
ui.tableWidget->setCellWidget(行号,1,reqComboBox);
}
}
}
用于查看for循环执行了多少次。可能只执行一次:

#include <QDebug>
...
      rowNumber++;
      qDebug() << rowNumber;
...
#包括
...
行数++;
qDebug()setCellWidget(i,1,新的QLineEdit);
}
您看到了多少行编辑


请注意,您应该使用
setRowCount
来设置表格小部件的行数。

使用调试器来找出发生了什么事情……我已经尝试过了,但一切似乎都很好,我们是否必须启用递增的sth?我确实尝试过,我可以看到它发生了变化:(没有问题)
for (int i=0; i<ui.tableWidget->rowCount(); i++)
{
      ui.tableWidget->setCellWidget(i,1,new QLineEdit);
}