午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5圖片顯示控件QPixmap詳細(xì)使用方法與實(shí)例

瀏覽:85日期:2022-08-05 16:02:47
PyQt5圖片顯示控件QPixmap介紹

QPixmap類(lèi)用于繪圖設(shè)備的圖像顯示,它可以作為一個(gè)QPainterDevice對(duì)象,也可以加載到一個(gè)控件中,通常是標(biāo)簽或者按鈕,用于在標(biāo)簽或按鈕上顯示圖像

QPixmap可以讀取的圖像文件類(lèi)型有BMP,GIF,JPG等

QPixmap類(lèi)中常用的方法 方法 描述 copy() 從QRect對(duì)象復(fù)制到QPixmap對(duì)象 fromImage() 將QImage對(duì)象轉(zhuǎn)換為QPixmap對(duì)象 grabWidget() 從給定的一個(gè)窗口小控件創(chuàng)建一個(gè)像素圖 grabWindow() 在窗口創(chuàng)建數(shù)據(jù)的像素圖 load() 加載圖像文件作為QPixmap對(duì)象 save() 將QPixmap對(duì)象保存為文件 toImage() 將QPixmap對(duì)象轉(zhuǎn)換為QImage對(duì)象

QPixmap的使用實(shí)例

import sysfrom PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import *class QpixmapDemo(QWidget): def __init__(self,parent=None): super(QpixmapDemo, self).__init__(parent) self.setWindowTitle(’QPixmap例子’) layout=QVBoxLayout() lab1=QLabel() lab1.setPixmap(QPixmap(’imagespython.jpg’)) layout.addWidget(lab1) self.setLayout(layout)if __name__ == ’__main__’: app = QApplication(sys.argv) demo =QpixmapDemo() demo.show() sys.exit(app.exec_())

效果如圖

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5圖片顯示控件QPixmap詳細(xì)使用方法與實(shí)例

代碼分析

在這個(gè)例子中,使用setPixmap()將圖像顯示在QLabel上

lab1=QLabel() lab1.setPixmap(QPixmap(’imagespython.jpg’))QImage與QPixmap區(qū)別不同平臺(tái),依賴(lài)、存儲(chǔ)不同

QPixmap依賴(lài)于硬件,QImage不依賴(lài)于硬件。

在X11, Mac 以及 Symbian平臺(tái)上。

QImage: 因?yàn)樗谴鎯?chǔ)在客戶(hù)端,往QImage上繪圖比較快,但顯示它則比較慢。QPixmap: 具體實(shí)現(xiàn)是依賴(lài)于系統(tǒng)的,它是存儲(chǔ)在服務(wù)器端,往QPixmap上繪圖比較慢,但顯示它則比較快。但在Windows平臺(tái)上則是是一樣的,因?yàn)樗鼈兌即鎯?chǔ)在客戶(hù)端,并不使用任何的GDI資源,可能看起來(lái)并沒(méi)有多大區(qū)別。

目前的Qt會(huì)把QPixmap都存儲(chǔ)在graphics memory中,這明顯是依賴(lài)硬件的。因此我們對(duì)QPixmap的使用需要格外注意。

那么Qt為什么要這么做呢?很簡(jiǎn)單,設(shè)計(jì)之初QPixmap就是用來(lái)加速顯示的,例如我們?cè)趐aint的時(shí)候用QPixmap就會(huì)比用其他類(lèi)的效果好許多。

用處分工不同

QPixmap主要是用于繪圖,針對(duì)屏幕顯示而最佳化設(shè)計(jì),QImage主要是為圖像I/O、圖片訪問(wèn)和像素修改而設(shè)計(jì)的。

當(dāng)圖片小的情況下,直接用QPixmap進(jìn)行加載,畫(huà)圖時(shí)無(wú)所謂,當(dāng)圖片大的時(shí)候如果直接用QPixmap進(jìn)行加載,會(huì)占很大的內(nèi)存,一般一張幾十K的圖片,用QPixmap加載進(jìn)來(lái)會(huì)放大很多倍,所以一般圖片大的情況下,用QImage進(jìn)行加載,然后轉(zhuǎn)乘QPixmap用戶(hù)繪制。QPixmap繪制效果是最好的。

總結(jié):

對(duì)于顯示小圖片時(shí),可以用QPixmap進(jìn)行加載,繪畫(huà)圖片。當(dāng)繪畫(huà)大圖片時(shí)候,此時(shí)最好實(shí)現(xiàn)QImage進(jìn)行加載,因?yàn)镼Image本身主要是為圖像I/O、圖片訪問(wèn)和像素修改而設(shè)計(jì)的,它可以實(shí)現(xiàn)對(duì)圖片旋轉(zhuǎn)、縮放等。然后通過(guò)QPixmap實(shí)現(xiàn)繪圖。

本文詳細(xì)介紹了PyQt5圖片顯示控件QPixmap詳細(xì)使用方法與實(shí)例,還包括PyQt5中QImage控件與QPixmap控件的區(qū)別,更多關(guān)于這方面的知識(shí)請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲黄色网络 | 殴美一级片 | 日韩一区欧美二区 | 国产精品麻豆视频 | 波多野结衣午夜 | 国产激情片 | 91看片看淫黄大片 | 中文字幕日本视频 | 国产色区| 猫咪av在线 | 黄色片久久久 | 欧美精品久久久久久久久久 | 精品久久免费 | 欧美永久精品 | 青草国产视频 | 国产成人一区二区三区影院在线 | 亚洲免费久久 | 国产精品美女网站 | 色老头av| 国产伦一区二区三区 | 香蕉久久精品 | 欧美成人xxx| 91亚洲国产成人精品一区 | 中文字幕有码在线 | 天天干国产 | 网曝门在线 | 欧美一级做a爰片免费视频 天堂久久精品 | av在线入口 | 香蕉视频911 | 亚洲成人av免费 | 最近日韩中文字幕中文 | 亚洲专区免费 | 国产做受网站 | 亚洲成人动漫在线观看 | 亚洲精品国产精品乱码不99 | 亚洲成人激情视频 | 超碰997 | 一级特黄aaa | 欧美 日韩 国产 在线观看 | 亚洲网在线观看 | 四虎黄色网址 |