Подтвердить что ты не робот

Как добавить флажок/переключатель в QTableWidget

Как добавить флажок /radioobutton/combobox в QTableWidget или QListWidget?

4b9b3361

Ответ 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.

Spin Box Delegate

Надеюсь, это поможет.

Ответ 2

Существует два метода:

void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )

и

void QListWidget::setItemWidget ( QListWidgetItem * item, QWidget * widget )

Они позволяют вставлять любые виджеты и другие элементы управления, которые наследуют QWidget. Флажок/переключатель/combobox наследуют от QWidget.