Python PyQt4实现QQ抽屉效果


Posted in Python onApril 20, 2018

本文实例为大家分享了Python PyQt4实现QQ抽屉效果展示的具体代码,供大家参考,具体内容如下

先看截图效果:

Python PyQt4实现QQ抽屉效果

主要是使用了QT的QTabWidget、QToolBox多页窗口部件

# -*- coding: utf-8 -*- 
from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
import sys 
 
QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8")) 
 
class MyQQ(QTabWidget): 
  def __init__(self,parent=None): 
    super(MyQQ,self).__init__(parent) 
     
    toolButton1=QToolButton() 
    toolButton1.setText(self.tr("gavin")) 
    toolButton1.setIcon(QIcon("d:/image/1.png")) 
    toolButton1.setIconSize(QSize(60,60)) 
    toolButton1.setAutoRaise(True) 
    toolButton1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) 
 
 
    toolButton2=QToolButton() 
    toolButton2.setText(self.tr("问题的方法")) 
    toolButton2.setIcon(QIcon("d:/image/2.png")) 
    toolButton2.setIconSize(QSize(60,60)) 
    toolButton2.setAutoRaise(True) 
    toolButton2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)     
 
    toolButton3=QToolButton() 
    toolButton3.setText(self.tr("为什么")) 
    toolButton3.setIcon(QIcon("d:/image/3.png")) 
    toolButton3.setIconSize(QSize(60,60)) 
    toolButton3.setAutoRaise(True) 
    toolButton3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) 
 
    groupbox1=QGroupBox() 
    vlayout1=QVBoxLayout(groupbox1) 
    vlayout1.setMargin(10) 
    vlayout1.setAlignment(Qt.AlignCenter) 
    vlayout1.addWidget(toolButton1) 
    vlayout1.addWidget(toolButton2) 
    vlayout1.addStretch() 
 
    groupbox2=QGroupBox() 
    vlayout2=QVBoxLayout(groupbox2) 
    vlayout2.setMargin(10) 
    vlayout2.setAlignment(Qt.AlignCenter) 
    vlayout2.addWidget(toolButton3) 
    vlayout2.addStretch() 
 
    groupbox3=QGroupBox() 
 
    toolbox1 = QToolBox() 
    toolbox1.addItem(groupbox1,self.tr("我的好友")) 
    toolbox1.addItem(groupbox2,self.tr("同事")) 
    toolbox1.addItem(groupbox3,self.tr("黑名单")) 
         
    toolbox2 = QToolBox() 
     
    self.addTab(toolbox1, "联系人") 
    self.addTab(toolbox2, "群/讨论组") 
     
app=QApplication(sys.argv) 
myqq=MyQQ() 
myqq.setWindowTitle("QQ2012") 
myqq.show() 
app.exec_()

问题记录

1.脚本中使用中文处,提示错误:

SyntaxError:<unicode error> 'utf8' codec can't decode byte 0xc4 in position 0: invalid continuation byte

需要将*.py文件保存成utf-8, 我用的是gvim,一直没搞明白vim的编码设置,所以我用了种比较笨的方法,用记事本打开,另存为utf-8格式

2.一开始,我把头像目录image放在\Python32\Lib\site-packages目录下,然后在解释中调用模块,但是不能显示,后来就改用了绝对路径

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
Python使用chardet判断字符编码
May 09 Python
python实现决策树
Dec 21 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
分析Python中解析构建数据知识
Jan 20 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python 字典修改键(key)的几种方法
Aug 10 Python
Django migrations 默认目录修改的方法教程
Sep 28 Python
简单介绍python封装的基本知识
Aug 10 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Pytorch模型转onnx模型实例
Jan 15 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 #Python
PyQt实现界面翻转切换效果
Apr 20 #Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 #Python
python3 pandas 读取MySQL数据和插入的实例
Apr 20 #Python
PyQt5每天必学之事件与信号
Apr 20 #Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 #Python
基于pandas数据样本行列选取的方法
Apr 20 #Python
You might like
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
javascript中简单的进制转换代码实例
2013/10/26 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
turn.js异步加载实现翻书效果
2019/07/25 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
Django自定义分页与bootstrap分页结合
2021/02/22 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
增大python字体的方法步骤
2020/07/05 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
DJI全球:DJI Global
2021/03/15 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
求职简历中自我评价
2014/01/28 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
小学科学教学计划
2015/01/21 职场文书
未中标通知书
2015/04/17 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
教师节联欢会主持词
2015/07/04 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
Flask response响应的具体使用
2021/07/15 Python
keepalived + nginx 实现高可用方案
2022/12/24 Servers