Qt常用UI控件读取、写入方法

本文用途:快速备忘,方便调用,写熟了自然就记下了。

【1、标签label】

读取:ui->label->text()
写入:ui->label->setText("poi");

【2、单行文本框lineEdit】
读取:ui->lineEdit->text()

写入:ui->lineEdit->setText("poi");

【3、单行文本框textEdit】
读取(文本):ui->textEdit->toPlainText()
读取(富文本):ui->textedit->toHtml()
写入:ui->textEdit->setText("poi");

追加:ui->textEdit->append("jfz");

【4、spinBox】

读取:ui->spinBox->text()

【5、doubleSpinBox】

读取:ui->doubleSpinBox->text()

【6、comboBox】

读取:ui->comboBox->currentText()

【7、radioButton】

读取:ui->radioButton->isChecked()

【8、checkBox】

读取:checkBox->checkState() == Qt::Checked

Qt读取 SQLite 中的 BLOB 数据并将其写入图像,可以按照以下步骤进行: 1. 打开 SQLite 数据库并准备读取 BLOB 数据。可以使用 `QSqlDatabase` 和 `QSqlQuery` 类来执行此操作。 ```cpp QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("path/to/database"); if (!db.open()) { qDebug() << "database open error"; return; } QSqlQuery query(db); query.prepare("SELECT image FROM table WHERE id = :id"); query.bindValue(":id", 1); if (!query.exec()) { qDebug() << "query execution error"; return; } if (!query.next()) { qDebug() << "no data found"; return; } QByteArray blobData = query.value(0).toByteArray(); ``` 2. 将 BLOB 数据写入临时文件。可以使用 `QTemporaryFile` 类来创建临时文件并将数据写入其中。 ```cpp QTemporaryFile tempFile; if (!tempFile.open()) { qDebug() << "temporary file creation error"; return; } tempFile.write(blobData); tempFile.close(); ``` 3. 从临时文件中读取图像数据并显示。可以使用 `QImage` 类来加载图像数据并将其显示在控件中。 ```cpp QImage image; if (!image.load(tempFile.fileName())) { qDebug() << "image loading error"; return; } ui->label->setPixmap(QPixmap::fromImage(image)); ``` 完整的代码示例: ```cpp QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("path/to/database"); if (!db.open()) { qDebug() << "database open error"; return; } QSqlQuery query(db); query.prepare("SELECT image FROM table WHERE id = :id"); query.bindValue(":id", 1); if (!query.exec()) { qDebug() << "query execution error"; return; } if (!query.next()) { qDebug() << "no data found"; return; } QByteArray blobData = query.value(0).toByteArray(); QTemporaryFile tempFile; if (!tempFile.open()) { qDebug() << "temporary file creation error"; return; } tempFile.write(blobData); tempFile.close(); QImage image; if (!image.load(tempFile.fileName())) { qDebug() << "image loading error"; return; } ui->label->setPixmap(QPixmap::fromImage(image)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值