默认情况下出现的弹出窗口是
QListView
QAbstractItemView
,在这种情况下
QTableView
将用于它使用
setView()
setModelColumn()
指示列的位置,但在此之前,使用该方法将模型设置为QComboBox
setModel()
.
# my model
model = new QSqlTableModel;
model->setTable("person");
model->select();
# setModel
comboBox->setModel(model);
# select column
comboBox->setModelColumn(1);
QTableView *view = new QTableView(this);
comboBox->setView(view);
注:
模型设置为QComboBox,而不是QTableView。此外,您可能会遇到QTableView的宽度问题,因此我们必须调整大小,在我的情况下,请使用以下方法:
view->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
view->setMinimumWidth(500);
link