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采集博客中上传的QQ截图文件
(0)

相关推荐

  • python采集博客中上传的QQ截图文件

    哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来逐个修改. 好了,下面是程序代码: im

  • 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

  • Android自定义控件仿QQ抽屉效果

    其实网上类似的实现已经很多了,原理也并不难,只是网上各种demo运行下来,多少都有一些问题.折腾了半天,决定自己实现一个. 首先我们看看实现效果: 对比网上各类demo,这次要实现的主要表现在以下几点: 1.侧滑显示抽屉view 2.侧滑抽屉隐藏view控件点击事件 3.单击任意item隐藏显示的抽屉view 4.滑动list隐藏显示的抽屉view 5.增加SwipeLayout点击事件和Swipe touch事件判断处理 6.优化快速划开多个抽屉隐藏view时多个SwipeLayout滑动状态

  • 如何将服务器上的python代码通过QQ发送回传信息(附实现方法)

    本文介绍我使用QQ得到服务器上回传的python代码的探索历程,面向的对象是对计算机网络有一定了解的读者.期待有兴趣的人和我一起探讨! 需求来源 最近,我在跑一些数据量巨大的代码.代码在本地一运行,CPU就占满了,代码运行时间又久,因此这段时间根本用不了电脑,这对疫情在家的大学生很难受.把代码放服务器吧,又不知道什么时候能跑完,这让我很不爽.于是,我希望服务器端的代码能给我一个不错的反馈,由此我选择了QQ交互方法. 硬件工具 本地电脑一台,服务器一台(如果你只是想尝试一下,而没有服务器,可以使用

  • Python实现图像去雾效果的示例代码

    目录 修改部分 训练测试 数据集 下载地址 修改部分 我利用该代码进行了去雾任务,并对原始代码进行了增删,去掉了人脸提取并对提取人脸美化的部分,如下图 增改了一些数据处理代码,Create_Bigfile2.py和Load_Bigfilev2为特定任务需要加的代码,这里数据处理用的是原始方法,即将训练数据打包成一个文件,一次性载入,可能会内存爆炸.去雾的如下 另外,为了节省内存,可以不使用原始方法,我改写了online_dataset_for_odl_photos.py文件 用于我的加雾论文,此

  • iOS粒子路径移动效果 iOS实现QQ拖动效果

    粒子效果,QQ拖动效果,实现很简单,具体代码如下 一.图示 二.分析 我们要实现的如果如上面的图示,那么我们可以按照下面的步骤操作: 第一步:我们的红点其实是一个UIButton.创建一个BageValueView继承自UIButton 第二步:初始化的时候,初始化控件,设置圆角,修改背景.文字颜色 第三步:添加手势.在手势的处理中我们,我们需要让当前控件随着手指移动而移动. 第四步:控件一开始创建的时候,其实有两个圆,一个就是我们能够拖动的大圆,另外一个就是原始位置上会改变大小的圆.这一步骤中

  • iOS实现简单的抽屉效果

    说到抽屉效果在iOS中比较有名的第三方类库就是PPRevealSideViewController.一说到第三方类库就自然而然的想到我们的CocoaPods,本文用CocoaPods引入PPRevealSideViewController,然后在我们的工程中以代码结合storyboard来做出抽屉效果. 一.在工程中用CocoaPods引入第三方插件PPRevealSideViewController. (1).在终端中搜索PPRevealSideViewController的版本 (2).在P

  • iOS实现侧拉栏抽屉效果

    本文实例介绍了iOS实现侧拉栏抽屉效果的相关代码,分享给大家供大家参考,具体内容如下 需要导入第三方的类库如下: 抽屉效果所需第三方类库下载 效果:既可以两侧都实现抽屉效果也可只实现左侧栏或者右侧栏的抽屉效果 关于抽屉效果主要是AppDelegate的代码 AppDelegate.h文件代码: <span style="font-size:18px;"><span style="font-size:18px;">#import <UIK

  • IOS实现点击滑动抽屉效果

    最近,看到好多Android上的抽屉效果,也忍不住想要自己写一个.在Android里面可以用SlidingDrawer,很方便的实现.IOS上面就只有自己写了.其实原理很简单就是 UIView 的移动,和一些手势的操作. 效果图: // // DrawerView.h // DrawerDemo // // Created by Zhouhaifeng on 12-3-27. // Copyright (c) 2012年 CJLU. All rights reserved. // #import

  • iOS抽屉效果开发案例分享

    本文实例为大家分享了iOS抽屉效果开发实例,供大家参考,具体内容如下 在显示在窗口的控制器上添加三个view(如果只需要往一边滑动就只加2个view) 先声明三个view #import "ViewController.h" @interface ViewController () @property(nonatomic, weak) UIView *mainV; @property(nonatomic, weak) UIView *leftV; @property(nonatomic

  • IOS中MMDrawerController第三方抽屉效果的基本使用示例

    因为刚开年,所以最近公司比较闲,看到以前并不是我接手的项目中有这种抽屉效果的控制器,比较感兴趣,便对MMDrawerController研究起来.也方便自己忘记之后查阅,另外也希望对大家有所帮助(PS:以前都是上面一个导航栏,下面一个tabbar的项目居多,所以对这种抽屉控制器不是很了解). 1.首先,到GitHub上把MMDrawerController下下来,然后倒入到项目中.当然你用cocoapods倒入也行.看你心情呗O(∩_∩)O 2.接下来就在appdelegate中撸我们的代码了.

随机推荐