Изображение в базе данных может быть сохранено в формате BLOB (англ. Binary Large Object - двоичный большой объект), то есть в формате массива двоичных данных. Формат BLOB также подходит для сохранения аудио и видео данных в базах данных.
Рассмотрим сохранение и восстановление изображения из базы данных на примере следующего приложения, в котором скриншот с экрана компьютера будет сохраняться в базе данных и выводиться в специальный QLabel , когда соответствующая запись будет выбрана в QTableView , который будет отображать все записи об изображения, хранящихся в базе данных.
Таким образом имеем таблицу в базе данных со следующими полями:
- id (INTEGER) - id записи;
- Name (VARCHAR(255)) - название хранящегося в базе данных файла;
- Pic (BLOB) - поле для хранения изображений в базе данных.
Если не вдаваться подробно в урок, то самая ценная информация по данной теме в конце файла mainwindow.cpp в следующих методах:
- MainWindow::on_screenButton_clicked()
- MainWindow::slotCurrentPic(QModelIndex index)
Структура проекта
- PicDataBase .pro - профайл проекта;
- database.h - заголовочный файл бессменного класса обёртки для работы с базой данных;
- database.cpp - файл исходных кодов класса-обёртки для работы с базой данных;
- mainwindow.h - заголовочный файл основного окна приложения;
- mainwindow.cpp -файл исходных кодов основного окна приложения;
- mainwindow.ui - форма главного окна приложения;
- main.cpp - основной файл исходных кодов приложения.
![]()
Это интересно
0
|
|||
Последние откомментированные темы: