Pyqt4 360界面風格皮膚實現


前言

最近用Pyqt做了軟件界面,始終覺得windows風格不太好看,雖然數字公司的行為有爭議,但是也不影響我欣賞360衛士的界面風格。

 

聲明

首先聲明,此項工作並非原創,而是基於這位zhuyeqing_432兄台的工作:

博客地址:http://blog.csdn.net/zhuyeqing_432

未修改代碼下載:http://download.csdn.net/detail/zhuyeqing_432/6045601

 

cb1b428ae2103b6cc510708fb220a841

 

然后拿到原始代碼后,整體界面是基本成型,完成度是相當高的:1個主界面和4個窗口(skin_widget.py換膚,setting_dialog.py設置,character_widget.py宣傳頁,about_us.py關於,具體入口見上圖箭頭)

 

問題

不知道是否是因為Pyqt版本的原因,代碼本身發現了很多問題:

1 最大化和還原

2 退出時會提示異常

3 界面無法拖動

4 有多處stylesheet無法parse,並且按鈕樣式和tab樣式還是未如意

 

解決

1 最大化和還原,原來使用self.setGeometry(QApplication.desktop().availableGeometry()來設置最大化,改為showMaximized/showNormal來切換

2 反正解決了

3 界面拖動見這篇博文http://www.cnblogs.com/anic/p/3542822.html,其中main_widget.py和about_us.py優化為虛框拖動,其他界面如skin_widget.py仍然用move方式移動,以便進行效果對比

4 stylesheet無法parse的原因由於Stylesheet的寫法有誤,沒有增加分號

修改前:

self.power_button.setStyleSheet("QPushButton{border-radius:5px background:rgb(110, 190, 10);color:white}"
    "QPushButton:hover{background:rgb(140, 220, 35)}")

修改后:

self.power_button.setStyleSheet("QPushButton{border-radius:5px;background:rgb(110, 190, 10);color:white}"
    "QPushButton:hover{background:rgb(140, 220, 35)}")

 

修改后的效果,其中虛框表示移動中的窗口

優化后的拖動效果

 

成品下載地址:http://files.cnblogs.com/anic/src.zip

 


免責聲明!

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



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