PyQt - 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.
Qt API có một lớp QImage tương tự khác, đượ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 cho thấy một hình ảnh được hiển thị trên QLabel bằng cách sử dụng phương thức setPixmap (). Mã hoàn chỉnh như sau:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
l1 = QLabel()
l1.setPixmap(QPixmap("python.jpg"))
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: