问题
How can I add a checkbox/radiobutton/combobox to a QTableWidget or a QListWidget?
回答1:
For a checkbox using the item's setCheckState method should do what you need both for list and table widgets. See if code below would work for you:
List widget:
QListWidgetItem *item0 = new QListWidgetItem(tr("First"), listWidget);
QListWidgetItem *item1 = new QListWidgetItem(tr("Second"), listWidget);
item0->setCheckState(Qt::Unchecked);
item1->setCheckState(Qt::Checked);
Table widget:
QTableWidgetItem *item2 = new QTableWidgetItem("Item2");
item2->setCheckState(Qt::Checked);
tableWidget->setItem(0, 0, item2);
You can use delegates (QItemDelegate) for other types of editor's widgets, example is here: Spin Box Delegate Example.

I hope this helps.
回答2:
There is two methods:
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
and
void QListWidget::setItemWidget ( QListWidgetItem * item, QWidget * widget )
They allow to insert any widget and other controls that inherit QWidget. Checkbox/radio button/combobox do inherit from QWidget
.
来源:https://stackoverflow.com/questions/5369300/how-can-i-add-a-checkbox-radio-button-to-qtablewidget