我正在编写一个qt gui应用程序,打算在其中显示QLabel内sql查询的输出。

现在,将输出填充到QTableView模型中非常简单,我可以使用它。

QSqlDatabase dbSqlite = QSqlDatabase::addDatabase("QSQLITE");   //these 2 lines for SQLite DB connection
dbSqlite.setDatabaseName("/home/aj/test.db");
dbSqlite.setUserName("aj");

QString MyQuerySqlite = ui->sqlite_queryEdit->text();    //take the query from a QLineEdit
dbSqlite.open();    //open db connection
QSqlQuery query(MyQuerySqlite,dbSqlite);

if(query.exec())  //populate in table
{
    this->model1=new QSqlQueryModel();
    model1->setQuery(MyQuerySqlite);
    ui->sqlite_tableView->setModel(model1);

    qDebug()<<QDateTime::currentDateTime()<<"SQLITE QUERY SUCCESS "<<dbSqlite.lastError().text();
}

关于如何在QLabel中实现此目标的任何想法?

查询的输出将是一个记录。例如,世界上最高的山峰的名称,或首都恩加尔德(Engalnd)的名称。只是单条记录。

最佳答案

如果要为此使用QSqlQueryModel,则可以使用QSqlQueryModel::record ( int row )检索特定记录,然后使用QSqlRecord::value ( int index )来获取字段的值:

QString str = model1->record(0).value(0).toString();
label->setText(str);

10-04 12:07