3

QLabel内のSQLクエリの出力を表示する予定のqt guiアプリケーションを作成しています。

これで、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内でこれを達成する方法についてのアイデア???

クエリの出力は 1 つのレコードになります。たとえば、世界で最も高い山の名前、またはエンガルドの首都の名前です。シングルレコードのみ。

4

2 に答える 2

3

value メソッドで結果を取得できます。例えば:

QString country;
 QSqlQuery query("SELECT country FROM artist");
 while (query.next()) {
     country.append( query.value(0).toString() + " ");

 }
 label->setText(country);

また、model1 からデータを読み取ることもできます。何かのようなもの:

label->setText(model1->data(model1->index(0,0),Qt::DisplayRole).toString());
于 2014-12-23T06:14:47.203 に答える