Pyqt4 360界面风格皮肤实现
前言
最近用Pyqt做了软件界面,始终觉得windows风格不太好看,虽然数字公司的行为有争议,但是也不影响我欣赏360卫士的界面风格。
声明
首先声明,此项工作并非原创,而是基于这位zhuyeqing_432兄台的工作:
博客地址:http://blog.csdn.net/zhuyeqing_432
未修改代码下载:http://download.csdn.net/detail/zhuyeqing_432/6045601

然后拿到原始代码后,整体界面是基本成型,完成度是相当高的: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
Pyqt4 360界面风格皮肤实现的更多相关文章
- Skin++ 皮肤库 CCheckListBox MFC 界面风格
今天使用CCheckListBox,发现增加进去的字符串无法显示,但是当点击的时候,确有反应. 仔细检查代码,没有问题.之前也是这样用的,完全没有问题. 思前想后,觉得是因为使用了Skin++皮肤库, ...
- DotNetBar的使用—(界面风格)
C# WinForm项目中自带的窗体风格很普通,一点都不美观.DotNetBar就是一套.NET美化控件库,有70几个控件以及多种界面的皮肤风格.关于控件的效果在官网上进行查看http://www.d ...
- 13款经典BI项目报表&界面风格设计方案
说明 1.方案取自报表开发工具FineReport案例的配色方案 2.所有设计方案图中已标注了字体.颜色与间隔距离等,可直接调用. 报表&界面风格设计方案展示 灰蓝界面 绿色与金色 蓝绿清新风 ...
- 使用PyQt4写界面后台程序方法总结
使用PyQt4编写界面后台程序的方法总结 一.怎么建立多线程 界面程序如果有稍微耗时一点的任务如果不使用多线程就会界面卡死,所以大多数情况会使用到多线程.PyQt4自己有多线程的机制,可以派生多线程类 ...
- WinForm 简易仿360界面控件
因为经常要做一些1.2千行的小工具,WinForm自带的TabCtrl又不美观,所以想做成360的样子,在网上找来找去,都只有散乱的代码,没有可以通用的结构,于是自己写了一个简易的通用控件. 控件主要 ...
- (转)MFC界面风格
以前在XP写的程序,现在系统换成了WIN7,现在对话框在编辑和预览的时候显示都如图一所示,可实际编译生成之后的显示却如图二所示,是什么问题?如何设置两者的显示风格使其保持一致? ----------- ...
- 高仿360界面的实现(用纯XML和脚本实现)
源码下载:360UI 本项目XML的桌面渲染依赖GQT开源项目(请感兴趣的朋友加入QQ讨论群:101189702,在群共享文件里下载GQT源码),以下是360界面实现的全部XML代码,所有的代码都在3 ...
- 咏南CS开发框架新的界面风格
咏南CS开发框架新的界面风格 这种风格完全和WINDOWS桌面一样,符合用户的操作习惯. 我的桌面的图标和WINDOWS桌面一样分为二类:1)快捷方式 2)文件夹. 如果快捷方式较多,看得人眼花缭乱 ...
- Qt - 设置程序界面风格(现成的QMacStyle等等)
类的继承关系: QMotifStyle:OSF(开放基金协会)开发的一个工业标准的GUI(图形用户接口): QCDEStyle:公共桌面环境(Common Desktop Environment)的缩 ...
随机推荐
- Flask deployment on gunicorn with flask script
https://stackoverflow.com/questions/34265870/flask-deployment-on-gunicorn-with-flask-script 依赖 Flask ...
- python(7)-- 文件I/O
1 打印到屏幕:print 语句.你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出,eg:print "Python 是一个非常 ...
- react-router路由参数
react-router会自动为路由组件插入三个参数,但是不会主动为路由组件的子组件注入 子组件当中需要在属性当中传入 不是路由组件需要注入路由参数的话,也可以使用withRouter注入,而不是从属 ...
- UIAlertController 实现kvo实现mes文字设置
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"更新提示" message:[NS ...
- Maven 的基本用法
一.Maven 的安装 二.Maven的常用构建命令 1.mvn -v 查看maven版本 2.mvn compile 编译 3.mvn test 测试 4.mvn package 打包 5.Mvn ...
- rsync Linux系统下的数据镜像备份工具
rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的 ...
- Android启动过程深入解析【转】
转自:http://www.open-open.com/lib/view/open1403250347934.html 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么 ...
- Action 和 Func 的用法以及区别
Action 无返回值 Func 有返回值,且最后一个参数为返回值 Action用法 public static void test(string s) { Console.WriteLine(&qu ...
- AC日记——黑魔法师之门 codevs 1995
1995 黑魔法师之门 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 经过了16个工作日的紧张 ...
- Java---杨辉三角简易解法(通俗易懂,逻辑严密)