在 QTableWidget 中设置 QComboBox 的当前索引
Set current index of QComboBox inside QTableWidget
我在QTableWidget
里面有QComboBox
。它是这样创建的:
QComboBox* bb = new QComboBox(this);
ui->propsWidget->setCellWidget(1, 0, bb);
for (...)
bb.addItem(...);
我需要以编程方式设置它的索引。我试过这个:
QComboBox* bb = qobject_cast<QComboBox*>(ui->propsWidget->cellWidget(1, 0));
bb->setCurrentIndex(5);
还有这个:
bb->setEditText("mytext"); // "mytext" is contained in bb
但当前索引没有变化。我该怎么做?
您需要修改此行:QComboBox* bb = new QComboBox(this);
因为 QTableWidget
拥有其所有子组件的所有权。所以,它必须成为 QComboBox* bb = new QComboBox();
,而父级将成为 table。
我在QTableWidget
里面有QComboBox
。它是这样创建的:
QComboBox* bb = new QComboBox(this);
ui->propsWidget->setCellWidget(1, 0, bb);
for (...)
bb.addItem(...);
我需要以编程方式设置它的索引。我试过这个:
QComboBox* bb = qobject_cast<QComboBox*>(ui->propsWidget->cellWidget(1, 0));
bb->setCurrentIndex(5);
还有这个:
bb->setEditText("mytext"); // "mytext" is contained in bb
但当前索引没有变化。我该怎么做?
您需要修改此行:QComboBox* bb = new QComboBox(this);
因为 QTableWidget
拥有其所有子组件的所有权。所以,它必须成为 QComboBox* bb = new QComboBox();
,而父级将成为 table。