Как сохранить изображение в формате QPixmap в файл с помощью PyQt6?

Как можно сохранить изображение QPixmap в файл?
  • 7 ноября 2024 г. 11:22
Ответы на вопрос 2
Чтобы сохранить изображение в формате `QPixmap` в файл с помощью PyQt6, вы можете использовать метод `save()` класса `QPixmap`. Вот общий пример того, как это можно сделать:

```python
import sys
from PyQt6.QtWidgets import QApplication, QPushButton, QWidget
from PyQt6.QtGui import QPixmap

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()

        # Создаем кнопку для сохранения изображения
        self.button = QPushButton("Сохранить изображение", self)
        self.button.clicked.connect(self.save_image)

        # Устанавливаем размер и заголовок окна
        self.setGeometry(100, 100, 300, 200)
        self.setWindowTitle("Сохранение QPixmap")

    def save_image(self):
        # Создаем QPixmap
        pixmap = QPixmap(200, 200)
        pixmap.fill()  # Заполняем белым цветом

        # Можно нарисовать что-то на pixmap (например, текст)
        painter = QPainter(pixmap)
        painter.drawText(pixmap.rect(), Qt.AlignmentFlag.AlignCenter, "Hello, PyQt6!")
        painter.end()

        # Сохраняем изображение в файл
        pixmap.save("output_image.png")  # Укажите нужное имя файла и формат

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec())
```

В этом коде:

1. Мы создаем класс `MyWindow`, который наследует от `QWidget`.
2. Добавляем кнопку для сохранения изображения.
3. В методе `save_image()` создаем объект `QPixmap`, рисуем на нем текст и сохраняем его в файл с помощью метода `save()`.

Вы можете изменять название файла и формат, например, на `output_image.jpg` или `output_image.bmp`, в зависимости от ваших нужд.
В C++\Qt так. На Python сами переведете? 
QFile file("yourFile.png");
file.open(QIODevice::WriteOnly);
pixmap.save(&file, "PNG");
Похожие вопросы