QT ComboBOX
时间: 2023-08-26 19:06:51 浏览: 205
在Qt中,可以通过以下步骤向QTableView添加ComboBox:
1. 创建一个QStandardItemModel对象,并将其设置为QTableView的模型。
2. 使用QStandardItemModel的setItem()方法将数据添加到模型中。
3. 创建一个QComboBox对象,并将其添加到QTableView中。
4. 使用QTableView的setIndexWidget()方法将QComboBox添加到指定单元格中。
以下是示例代码:
```
// 创建QStandardItemModel对象
QStandardItemModel *model = new QStandardItemModel();
// 设置表头
model->setHorizontalHeaderLabels(QStringList() << "Name" << "Gender");
// 添加数据
QList<QStandardItem *> row1;
row1.append(new QStandardItem("John"));
QStandardItem *genderItem = new QStandardItem();
genderItem->setData(QVariant("Male"), Qt::DisplayRole);
genderItem->setData(QVariant(1), Qt::UserRole);
row1.append(genderItem);
model->appendRow(row1);
// 创建QComboBox对象
QComboBox *comboBox = new QComboBox();
comboBox->addItem("Male");
comboBox->addItem("Female");
// 将QComboBox添加到QTableView中
ui->tableView->setIndexWidget(model->index(, 1), comboBox);
// 将QStandardItemModel设置为QTableView的模型
ui->tableView->setModel(model);
```
在上面的示例中,我们创建了一个QStandardItemModel对象,并将其设置为QTableView的模型。然后,我们使用QStandardItemModel的setItem()方法将数据添加到模型中。接下来,我们创建了一个QComboBox对象,并将其添加到QTableView中。最后,我们使用QTableView的setIndexWidget()方法将QComboBox添加到指定单元格中。
阅读全文