關於PyQt5 setPalette 設置背景不生效問題


PyQt5 版本5.15.4 使用 setPalette不生效,源碼如下:

    def set_background(self, image): self.resize(self.desk_width, self.desk_height) desktop_bg = QImage(image) # desktop_bg = QImage(":images/bg.png") scaled = desktop_bg.scaled(int(self.desk_width), int(self.desk_height), Qt.IgnoreAspectRatio, Qt.FastTransformation) palette = QPalette() palette.setBrush(QPalette.Background, QBrush(QPixmap.fromImage(scaled))) self.setPalette(palette)

 

解決思路:

1、將PyQt5降級,如5.14.1 (測試正常)

2、使用setStyleSheet 或qss 設置方法

3、使用QPainter + paintEvent(self,  event) 重繪界面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM