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 json encode datetime类型
Dec 28 Python
简单解析Django框架中的表单验证
Jul 17 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
Python之指数与E记法的区别详解
Nov 21 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
Mar 11 Python
详解Python 中的容器 collections
Aug 17 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路由类
2016/05/29 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript 表单规则集合对象
2009/07/21 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
DOM 事件流详解
2015/01/20 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
canvas时钟效果
2017/02/16 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
Python中的jquery PyQuery库使用小结
2014/05/13 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
Python中如何定义一个函数
2016/09/06 面试题
拉丁舞学习者的自我评价
2013/10/27 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
小学班主任评语
2014/12/29 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
2015年售票员工作总结
2015/04/29 职场文书