//图像采集
void Calibration::on_pushButton_7_clicked()
{
cap>>src_image;// 从摄像头中抓取并返回每一帧
string writePath = "D:/Qtproject/visualsystem3/image2/";
// 保存的图片名称
std::string imgName;
//按顺序输出照片名称
imgName = writePath +to_string(i) + ".jpg";
// 把图片保存起来
cv::imwrite(imgName, src_image);
//写入数据库
QProcess process;
process.start("D:/Program Files/MySQL/MySQL Server 5.7/bin/mysqld.exe");
createConnection();
//打开数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mydata"); //这里输入你的数据库名
db.setUserName("root");
db.setPassword("883811"); //这里输入你的密码
if (!db.open())
{
QMessageBox::critical(0, QObject::tr("无法打开数据库"),
"无法创建数据库连接! ", QMessageBox::Cancel);
}
//下面来创建表
// 如果 MySQL 数据库中已经存在同名的表, 那么下面的代码不会执行
QSqlQuery query(db);
// 使数据库支持中文
//支持中文
query.exec("SET NAMES 'latin1'");
// 创建 course 表
query.exec("create table mylabel (id int primary key, "
"name varchar(20), address longblob)");
//string转QString
QString path;
path=QString::fromStdString(imgName);
//将图片路径写入mysql
query.prepare("INSERT INTO mylabel (id, name, address) "
"VALUES (:id, :name, :address)");
query.bindValue(0, i);
query.bindValue(1, i);
query.bindValue(2, path);
//存入地址
query.exec();
model = new QSqlTableModel(this);
model->setTable("mylabel");
model->select();
// 设置编辑策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setModel(model);
i++;
}