PyQt - คลาส QPixmap
QPixmapคลาสให้การแสดงภาพนอกหน้าจอ สามารถใช้เป็นอ็อบเจ็กต์ QPaintDevice หรือสามารถโหลดลงในวิดเจ็ตอื่นโดยทั่วไปจะเป็นป้ายกำกับหรือปุ่ม
Qt API มี QImage คลาสอื่นที่คล้ายกันซึ่งได้รับการปรับให้เหมาะสมสำหรับ I / O และการปรับแต่งพิกเซลอื่น ๆ ในทางกลับกัน Pixmap ได้รับการปรับให้เหมาะกับการแสดงบนหน้าจอ ทั้งสองรูปแบบสามารถแปลงกลับกันได้
ประเภทของไฟล์รูปภาพที่สามารถอ่านลงในออบเจ็กต์ QPixmap มีดังนี้ -
BMP | บิตแมปของ Windows |
GIF | รูปแบบการแลกเปลี่ยนกราฟิก (ไม่บังคับ) |
JPG | กลุ่มผู้เชี่ยวชาญด้านการถ่ายภาพร่วม |
JPEG | กลุ่มผู้เชี่ยวชาญด้านการถ่ายภาพร่วม |
PNG | กราฟิกเครือข่ายแบบพกพา |
PBM | บิตแมปแบบพกพา |
PGM | Graymap แบบพกพา |
พีพีเอ็ม | Pixmap แบบพกพา |
XBM | X11 บิตแมป |
XPM | X11 Pixmap |
วิธีการต่อไปนี้มีประโยชน์ในการจัดการวัตถุ QPixmap -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | copy() คัดลอกข้อมูล pixmap จากออบเจ็กต์ QRect |
2 | fromImage() แปลงวัตถุ QImage เป็น QPixmap |
3 | grabWidget() สร้าง pixmap จากวิดเจ็ตที่กำหนด |
4 | grabWindow() สร้าง pixmap ของข้อมูลในหน้าต่าง |
5 | Load() โหลดไฟล์รูปภาพเป็น pixmap |
6 | save() บันทึกอ็อบเจ็กต์ QPixmap เป็นไฟล์ |
7 | toImage แปลง QPixmap เป็น QImage |
การใช้ QPixmap โดยทั่วไปคือการแสดงภาพบนป้าย / ปุ่ม
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงภาพที่แสดงบน QLabel โดยใช้เมธอด setPixmap () รหัสที่สมบูรณ์มีดังนี้ -
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()
รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ -