31

チェックボックス/ラジオボタン/コンボボックスをQTableWidgetまたはQListWidgetに追加するにはどうすればよいですか?

4

3 に答える 3

60

次の 2 つの方法があります。

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

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

QWidget を継承するウィジェットやその他のコントロールを挿入できます。チェックボックス/ラジオボタン/コンボボックスから継承しQWidgetます。

于 2011-03-20T17:16:06.077 に答える
22

項目の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 Delegate Example

スピン ボックス デリゲート

これが役立つことを願っています。

于 2011-03-20T22:57:18.797 に答える