首先,我对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是指针有关。因此,如果还有其他方法可以解决这个问题,我愿意接受。任何输入表示赞赏。
答案 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
}