Как добавить флажок /radioobutton/combobox в QTableWidget или QListWidget?
Как добавить флажок/переключатель в QTableWidget
Ответ 1
Для флажка с помощью элемента setCheckState метод должен делать то, что вам нужно как для виджетов списка, так и для таблиц. Посмотрите, работает ли код ниже:
Виджет списка:
QListWidgetItem *item0 = new QListWidgetItem(tr("First"), listWidget);
QListWidgetItem *item1 = new QListWidgetItem(tr("Second"), listWidget);
item0->setCheckState(Qt::Unchecked);
item1->setCheckState(Qt::Checked);
Виджет таблицы:
QTableWidgetItem *item2 = new QTableWidgetItem("Item2");
item2->setCheckState(Qt::Checked);
tableWidget->setItem(0, 0, item2);
Вы можете использовать делегаты (QItemDelegate) для других типов виджетов редактора, например: Пример делегата Spin Box.
Надеюсь, это поможет.
Ответ 2
Существует два метода:
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
и
void QListWidget::setItemWidget ( QListWidgetItem * item, QWidget * widget )
Они позволяют вставлять любые виджеты и другие элементы управления, которые наследуют QWidget. Флажок/переключатель/combobox наследуют от QWidget
.