void input::on_save_but_clicked() { QString fileName = QFileDialog::getSaveFileName(this, tr("Save Image"), ".", tr("Image Files (*.png *.jpg *.bmp)"));//获取保存路径 if (!fileName.isEmpty()) { if (imag->save(fileName)) {//保存图片 QMessageBox::information(this, tr("Success"), tr("Image saved successfully!")); } else { QMessageBox::information(this, tr("Failed"), tr("Failed to save image!")); } } } 将获取的图片和UI文本框中的内容保存到bool DataBase::insertImage(const QString &name, const QString &path) { QSqlQuery query; //插入图片记录 query.prepare("INSERT INTO images (name, path) VALUES (:door_num,:user_name,:name, :path)"); query.bindValue(":door_num",name); query.bindValue(":user_name",name); query.bindValue(":name",name); query.bindValue(":path",path); if(!query.exec()) { qDebug()<<"Failed to insert image:"<<query.lastError().text(); return false; } return true; } 的database.db数据库中
时间: 2024-04-22 13:24:32 浏览: 111
要将获取的图片和UI文本框中的内容保存到`database.db`数据库中,你可以按照以下步骤进行操作:
1. 确保你已经创建了一个可用的数据库连接对象,并且已经正确设置了数据库的路径和名称。你可以使用之前提到的代码段中的`m_database`对象。
2. 在保存按钮的点击事件处理函数中,获取图片的保存路径。你已经使用了`QFileDialog::getSaveFileName()`方法来获取保存路径,并将路径保存在`fileName`变量中。
3. 检查保存路径是否为空。如果路径不为空,继续执行下一步;否则,显示一个错误消息框,提示用户选择有效的保存路径。
4. 如果路径不为空,首先保存图片。你可以使用`imag->save(fileName)`将图片保存到指定路径。如果保存成功,显示一个成功的消息框;否则,显示一个失败的消息框。
5. 接下来,调用`DataBase::insertImage()`方法将图片和UI文本框中的内容保存到数据库中。根据你提供的信息,你需要将`name`和`fileName`作为参数传递给`insertImage()`方法。可以使用以下代码示例来执行此操作:
```cpp
QString name = ui->nameLineEdit->text();
if (m_database.insertImage(name, fileName)) {
QMessageBox::information(this, tr("Success"), tr("Image and data saved successfully!"));
} else {
QMessageBox::information(this, tr("Failed"), tr("Failed to save image and data!"));
}
```
请确保在`DataBase`类中实现了`insertImage()`方法,并且在该方法中正确执行了数据库插入操作。
这样,当用户点击保存按钮时,图片和UI文本框中的内容将保存在`database.db`数据库中。
阅读全文