尝试在该列的每个单元格中用QComboBox填充QTableWidget列

时间:2018-08-08 15:09:28

标签: qt

首先,我对QT相当陌生。我需要表格第二栏中的每个单元格都是一个组合框。但是,我似乎无法找到一种方法来设置组合框的内容并同时完成。

// The table is made through QT designer interface
ui->my_table->setColumnCount(3);//Set Columns
ui->my_table->setRowCount(3);//Set Rows

QComboBox* table_combo = new QComboBox;//Setting up a new combo box for the table
QStringList combo_box_contents = {"asdfasd", "asdfs", "asdfsd"};//List of what the contents of the combo box need to be
table_combo->addItems(combo_box_contents);//Adding the list to the combo box

for (int i = 0; i < 3; i++)
{
    ui->my_table->setCellWidget(i, 1, table_combo);//Loops through and sets each cell in column 1 to the combo box
}

这只会将列中的最后一个单元格设置为组合框。

我知道,这与QWidgets是指针有关。因此,如果还有其他方法可以解决这个问题,我愿意接受。任何输入表示赞赏。

1 个答案:

答案 0 :(得分:0)

因此,在循环中声明组合框似乎可以解决我的问题。但是,我仍然不确定是否有更好的方法可以做到这一点。

for (int i = 0; i < 3; i++)
{
    QComboBox* table_combo = new QComboBox;
    table_combo->addItems(combo_box_contents);
    ui->my_table->setCellWidget(i, 1, table_combo);//Loops through and sets each cell in column 1 to the combo box
}