首页 > 解决方案 > 使用 sqlite 数据更新 qtableWidget 内的 qCombobox

问题描述

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

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

例如。

如何使用 SQLite 中的值更新组合框?

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);

}

}

组合框:

1

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

标签: c++sqliteqt

解决方案


推荐阅读