從現(xiàn)在開(kāi)始,我會(huì)把一些學(xué)習(xí)Python的筆記記錄下來(lái),方便自己,也方便別人。到時(shí)候看一下如果篇章足夠,我單獨(dú)把它們整理成專(zhuān)欄。
最近在學(xué)習(xí)Python GUI開(kāi)發(fā),之前一直都是做的C++ GUI開(kāi)發(fā),用到的大部分是框架,主要有MFC、DuiLib和Qt。哦,如果想省時(shí)省力,可以使用Qt WebEngine+H5開(kāi)發(fā)界面哦,只有你Web前端基礎(chǔ)不錯(cuò)的話。
使用PyQt 5開(kāi)發(fā)界面,真的很方便,不用寫(xiě)太多代碼,20行左右就可以出現(xiàn)簡(jiǎn)單的帶圖標(biāo)GUI,不信你可以看看下面代碼:
import sys from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QWidget class Logo(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # self.setGeometry(300, 300, 300, 220) self.setWindowTitle('MyLogo') # self.move(300, 300) self.setWindowIcon(QIcon('Logo.png')) self.show() if __name__ == "__main__": app = QApplication(sys.argv) ex = Logo() sys.exit(app.exec_())
Logo.png圖片是這樣的:
運(yùn)行結(jié)果:
這是我按照教程上面寫(xiě)的代碼,可是圖標(biāo)處并沒(méi)有被修改為自己想要的效果,還是默認(rèn)的圖標(biāo)。
后來(lái)我想了想,應(yīng)該是圖片格式的問(wèn)題,一般我們使用做圖標(biāo)的圖片格式為icon,所以我就對(duì)png格式進(jìn)行轉(zhuǎn)換,在線轉(zhuǎn)換的網(wǎng)站有:
https://www.easyicon.net/covert/
http://www.bitbug.net/
轉(zhuǎn)換完畢之后,就變成icon格式了,把名字修改為L(zhǎng)ogo.ico,然后扔到代碼目錄下面,代碼修改:
self.setWindowIcon(QIcon('Logo.ico'))
再次運(yùn)行:
現(xiàn)在就是自己想要的結(jié)果。
有時(shí)你按照教程敲代碼時(shí),可能沒(méi)有出現(xiàn)預(yù)期的效果,那么可能是自己的一些資源出現(xiàn)了問(wèn)題,比如我這次出現(xiàn)的格式問(wèn)題,那么你應(yīng)該多做一些項(xiàng)目,到時(shí)候就觸類(lèi)旁通了。
補(bǔ)充:PyQt5 QLabel改變字體和設(shè)置背景圖片
self.lab = QLabel("標(biāo)簽字體大小顏色", self) self.lab.setGeometry(50,50,300,200) self.setStyleSheet("QLabel{color:rgb(225,22,173,255);font-size:50px;font-weight:normal;font-family:Arial;}")
color:rgb()中的四個(gè)參數(shù),前三個(gè)是控制顏色,第四個(gè)控制透明度
font-size:設(shè)置字體大小
font-weight:bold可設(shè)置字體加粗
font-family:選擇自己想要的顏色
setStyleSheet同時(shí)可以設(shè)置標(biāo)簽背景圖片,但無(wú)法使圖片與標(biāo)簽大小匹配
self.lab = QLabel('標(biāo)簽背景圖片', self) self.lab.setGeometry(50,50,300,200) pixmap = QPixmap('F:\A_code\PyQT_Demo\\1.png') self.lab.setPixmap(pixmap)
但是這個(gè)時(shí)候我們添加的背景圖片依然無(wú)法和標(biāo)簽大小相匹配
這需要修改一下我們的實(shí)例化QPixmap部分
pixmap=QPixmap('F:\A_code\PyQT_Demo\\1.png').scaled (self.lab.width(), self.lab.height())
或者修改lab的屬性: self.lab.setScaledContents(True)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:昆明 石家莊 錫林郭勒盟 梅州 浙江 文山 西寧 懷化
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQt 5 設(shè)置Logo圖標(biāo)和Title標(biāo)題的操作》,本文關(guān)鍵詞 PyQt,設(shè)置,Logo,圖標(biāo),和,Title,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。