PyQt5 - Lớp QPixmap

QPixmaplớp cung cấp một biểu diễn ngoài màn hình của một hình ảnh. Nó có thể được sử dụng như một đối tượng QPaintDevice hoặc có thể được tải vào một tiện ích con khác, thường là nhãn hoặc nút.

API Qt có một lớp tương tự khác QImage, được tối ưu hóa cho I / O và các thao tác pixel khác. Mặt khác, Pixmap được tối ưu hóa để hiển thị nó trên màn hình. Cả hai định dạng đều có thể chuyển đổi được.

Các loại tệp hình ảnh có thể được đọc thành đối tượng QPixmap như sau:

BMP Bản đồ bit của Windows
GIF Định dạng trao đổi đồ họa (tùy chọn)
JPG Nhóm chuyên gia nhiếp ảnh chung
JPEG Nhóm chuyên gia nhiếp ảnh chung
PNG Biểu đồ minh họa mạng lưới không dây
PBM Bản đồ bit di động
PGM Bản đồ di động
PPM Pixmap di động
XBM Bản đồ bit X11
XPM X11 Pixmap

Các phương pháp sau rất hữu ích trong việc xử lý đối tượng QPixmap:

Sr.No. Phương pháp & Mô tả
1

copy()

Sao chép dữ liệu pixmap từ một đối tượng QRect

2

fromImage()

Chuyển đổi đối tượng QImage thành QPixmap

3

grabWidget()

Tạo bản đồ ảnh từ tiện ích con đã cho

4

grabWindow()

Tạo bản đồ dữ liệu pixmap trong cửa sổ

5

Load()

Tải tệp hình ảnh dưới dạng pixmap

6

save()

Lưu đối tượng QPixmap dưới dạng tệp

7

toImage

Chuyển đổi QPixmap thành QImage

Cách sử dụng phổ biến nhất của QPixmap là hiển thị hình ảnh trên nhãn / nút.

Thí dụ

Ví dụ sau đây cho thấy một hình ảnh được hiển thị trên QLabel bằng cách sử dụng setPixmap() phương pháp.

Mã hoàn chỉnh như sau:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
   l1 = QLabel()
   l1.setPixmap(QPixmap("python.png"))

   vbox = QVBoxLayout()
   vbox.addWidget(l1)
   win.setLayout(vbox)
   win.setWindowTitle("QPixmap Demo")
   win.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

Đoạn mã trên tạo ra kết quả sau: