PyQt 5 設置Logo圖標和Title標題的操作
從現在開始,我會把一些學習Python的筆記記錄下來,方便自己,也方便別人。到時候看一下如果篇章足夠,我單獨把它們整理成專欄。
最近在學習Python GUI開發,之前一直都是做的C++ GUI開發,用到的大部分是框架,主要有MFC、DuiLib和Qt。哦,如果想省時省力,可以使用Qt WebEngine+H5開發界面哦,隻有你Web前端基礎不錯的話。
使用PyQt 5開發界面,真的很方便,不用寫太多代碼,20行左右就可以出現簡單的帶圖標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圖片是這樣的:
運行結果:
這是我按照教程上面寫的代碼,可是圖標處並沒有被修改為自己想要的效果,還是默認的圖標。
後來我想瞭想,應該是圖片格式的問題,一般我們使用做圖標的圖片格式為icon,所以我就對png格式進行轉換,在線轉換的網站有:
https://www.easyicon.net/covert/
http://www.bitbug.net/
轉換完畢之後,就變成icon格式瞭,把名字修改為Logo.ico,然後扔到代碼目錄下面,代碼修改:
self.setWindowIcon(QIcon('Logo.ico'))
再次運行:
現在就是自己想要的結果。
有時你按照教程敲代碼時,可能沒有出現預期的效果,那麼可能是自己的一些資源出現瞭問題,比如我這次出現的格式問題,那麼你應該多做一些項目,到時候就觸類旁通瞭。
補充:PyQt5 QLabel改變字體和設置背景圖片
使用setStyleSheet方法修改得到自己想要的字體,大小,顏色
self.lab = QLabel("標簽字體大小顏色", 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()中的四個參數,前三個是控制顏色,第四個控制透明度
font-size:設置字體大小
font-weight:bold可設置字體加粗
font-family:選擇自己想要的顏色
setStyleSheet同時可以設置標簽背景圖片,但無法使圖片與標簽大小匹配
我使用QPixmap來設置標簽背景圖片
self.lab = QLabel('標簽背景圖片', self) self.lab.setGeometry(50,50,300,200) pixmap = QPixmap('F:\A_code\PyQT_Demo\\1.png') self.lab.setPixmap(pixmap)
但是這個時候我們添加的背景圖片依然無法和標簽大小相匹配
這需要修改一下我們的實例化QPixmap部分
pixmap=QPixmap('F:\A_code\PyQT_Demo\\1.png').scaled (self.lab.width(), self.lab.height())
或者修改lab的屬性: self.lab.setScaledContents(True)
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 火遍網絡的python中秋節賀卡現在學還趕得上
- Python中利用pyqt5制作指針鐘表顯示實時時間(指針時鐘)
- PyQt5設置登錄界面及界面美化的實現
- 詳解Python GUI工具取色器
- pyqt添加啟動等待界面的操作