Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用sqlite数据更新qtableWidget内的qCombobox_C++_Sqlite_Qt - Fatal编程技术网

C++ 使用sqlite数据更新qtableWidget内的qCombobox

C++ 使用sqlite数据更新qtableWidget内的qCombobox,c++,sqlite,qt,C++,Sqlite,Qt,我的当前代码有一个问题,我在qTableWidget中插入了一个带有setCellWidget方法的组合框,但是我需要像使用setCellWidget方法一样更新该qComboBox中的值 ui->tW_Datos->setItem(fila, 0, new QTableWidgetItem(consultar.value(2).toByteArray().constData())) 比如说 如何使用SQLite中的值更新combobox void Complejidad::Mos

我的当前代码有一个问题,我在qTableWidget中插入了一个带有setCellWidget方法的组合框,但是我需要像使用setCellWidget方法一样更新该qComboBox中的值

ui->tW_Datos->setItem(fila, 0, new QTableWidgetItem(consultar.value(2).toByteArray().constData()))
比如说

如何使用SQLite中的值更新combobox

void Complejidad::MostrarDatos()
{
QString consulta;
consulta.append("SELECT * FROM componentes WHERE Componente='" + buscar + "'");
QSqlQuery consultar;
consultar.prepare(consulta);

if(consultar.exec()){
    qDebug() << "Se ha consultado correctamente";
}else{
    qDebug() << "No se ha consultado correctamente" << consultar.lastError();
}

int fila=0;

ui->tW_Datos->setRowCount(0);

while(consultar.next()){
    QComboBox *combo;
    combo = new QComboBox;
    combo->addItems({"", "Simple", "Media", "Alta"});
    combo->setProperty("row", 1 - ui->tW_Datos->rowCount());
    combo->setProperty("column", 1);

    ui->tW_Datos->insertRow(fila);
    ui->tW_Datos->setItem(fila, 0, new QTableWidgetItem(consultar.value(2).toByteArray().constData()));
    connect(combo, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(OnComboIndexChanged(const QString&)));
    ui->tW_Datos->setCellWidget (fila, 1, combo);

}

}
void Complejidad::MostrarDatos()
{
QString领事馆;
consulta.append(“从组件中选择*,其中组件=”“+buscar+””);
QSqlQuery顾问;
领事准备(领事);
if(consultar.exec()){
qDebug()附加项({“,”简单“,”媒体“,”Alta“});
combo->setProperty(“行”,1-ui->tW_Datos->rowCount());
组合->设置属性(“列”,1);
ui->tW_Datos->insertRow(fila);
ui->tW_Datos->setItem(fila,0,新的QTableWidgetItem(consultar.value(2).toByteArray().constData());
连接(组合,信号(currentIndexChanged(const-QString&)),此,插槽(OnComboIndexChanged(const-QString&));
ui->tW_Datos->setCellWidget(fila,1,combo);
}
}
组合框:


如何使用数据库(SQlite)中的数据更新这些组合框?

您好,我不知道您到底想做什么,但是如果您想设置
QCombobox
的所选选项,只需调用
combo->setSelectedIndex()
在将其添加到表小部件之前,使用所需选项的索引。我尝试在qtablewidget中使用combobox对象更新setCellWidget(),我需要使用当前的sqlite数据更新combobox的索引