在QComboBox中将所选项目显示为行QTableView

在QComboBox中将所选项目显示为行QTableView,qt,qtableview,qcombobox,Qt,Qtableview,Qcombobox,在setView QTableView时遇到在QComboBox中显示所选项目的以下问题: 有一个QComboBox,您需要在其中显示所选项目以及QTableView的所有列。 大概是这样的: 按要求 或者至少像setModelColumn那样以文本的形式(3 | BMW | BW1234)类推,只需要以所选记录(行)的形式显示多个列 任何人都会在QComboBox中看到所选项目的类似显示吗 示例演示代码 QString indexes[] = { "1", "

在setView QTableView时遇到在QComboBox中显示所选项目的以下问题:

有一个QComboBox,您需要在其中显示所选项目以及QTableView的所有列。 大概是这样的:

按要求

或者至少像setModelColumn那样以文本的形式(3 | BMW | BW1234)类推,只需要以所选记录(行)的形式显示多个列

任何人都会在QComboBox中看到所选项目的类似显示吗

示例演示代码

QString indexes[] = { "1", "3", "6" };
QString brands[] = { "Ford", "BMW", "Citroen" };
QString numbers[] = { "F1234", "BW1234", "CI1234" };
QStandardItemModel* model = new QStandardItemModel;

for (int i = 0; i < 3; i++) {
    model->setItem(i, 0, new QStandardItem(indexes[i]));
    model->setItem(i, 1, new QStandardItem(brands[i]));
    model->setItem(i, 2, new QStandardItem(numbers[i]));
}

QTableView* tableView = new QTableView(this);
QComboBox* comboBox = new QComboBox(this);

tableView->setSelectionMode(QAbstractItemView::SingleSelection);
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);

tableView->resizeColumnsToContents();
tableView->resizeRowsToContents();
tableView->setMinimumWidth(tableView->horizontalHeader()->length());

comboBox->setView(tableView);
comboBox->setModel(model);
comboBox->setMinimumWidth(tableView->horizontalHeader()->length());
QString索引[]={“1”、“3”、“6”};
QString品牌[]={“福特”、“宝马”、“雪铁龙”};
QString编号[]={“F1234”、“BW1234”、“CI1234”};
QStandardItemModel*model=新QStandardItemModel;
对于(int i=0;i<3;i++){
模型->集合项(i,0,新的QStandardItem(索引[i]);
型号->设置项(i,1,新QS标准项(品牌[i]);
模型->设置项(i,2,新QS标准项(编号[i]);
}
QTableView*tableView=新的QTableView(此);
QCOMBOX*组合框=新的QCOMBOX(此);
tableView->setSelectionMode(QAbstractItemView::SingleSelection);
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
tableView->resizeColumnsToContents();
tableView->ResizerWSToContents();
tableView->setMinimumWidth(tableView->horizontalHeader()->length());
组合框->设置视图(tableView);
组合框->设置模型(模型);
comboBox->setMinimumWidth(tableView->horizontalHeader()->length());