代码如下:

#!/usr/bin/python

#-*-coding:utf-8-*-

from PyQt4.QtGui import *

from PyQt4.QtCore import *

from PyQt4.Qt import *

class ChangeSkinWidget(QWidget):

def __init__(self,parent = None):

super(ChangeSkinWidget,self).__init__(parent)

self.setFixedSize(140, 160)

self.mouse_press = False

self.mouse_enter = False

#self.pixmap = QPixmap()

self.pixmap_name = ""

self.skin_label = QLabel() #显示皮肤

self.skin_name_label = QLabel() #显示皮肤名称

self.download_count_label = QLabel() #显示下载次数

self.use_skin_button = QPushButton() #使用此皮肤按钮

self.setCursor(Qt.PointingHandCursor)

self.use_skin_button.setStyleSheet("border-radius:3px border:1px solid rgb(180, 190, 200) color:rgb(70, 70, 70) background:transparent")

self.skin_label.setScaledContents(True)

self.skin_label.setFixedSize(100, 65)

self.use_skin_button.setFixedSize(85, 25)

self.background_layout = QVBoxLayout()

self.background_layout.addWidget(self.skin_label, 0, Qt.AlignCenter)

self.background_layout.addWidget(self.skin_name_label, 0, Qt.AlignCenter)

self.background_layout.addWidget(self.download_count_label, 0, Qt.AlignCenter)

self.background_layout.addWidget(self.use_skin_button, 0, Qt.AlignCenter)

self.background_layout.setSpacing(5)

self.background_layout.setContentsMargins(0, 10, 0, 10)

self.setLayout(self.background_layout)

self.skin.connect(self.changeSkin)

self.translateLanguage()

skin = pyqtSignal()

def changeSkin(self, pixmap_name, skin_name, download_count):

self.background_name = pixmap_name + "_big.png"

self.pixmap_name = self.background_name

#更改皮肤背景

#self.pixmap()

self.skin_label.setPixmap(QPixmap(self.background_name))

#更改皮肤名称

self.skin_name_label.setText(skin_name)

#更改下载次数

self.download_count_label.setText(u"download count:" + download_count)

def translateLanguage(self):

self.use_skin_button.setText(u"use skin")

def paintEvent(self,event):

if(self.mouse_enter):

#绘制边框

painter = QPainter(self)

pen = QPen(QColor(210, 225, 230))

painter.setPen(pen)

painter.drawRoundRect(0,0,self.width()-1, self.height()-1, 5, 5)

def mousePressEvent(self,event):

#只能是鼠标左键移动和改变大小

if(event.button() == Qt.LeftButton):

self.mouse_press = True

self.emit(SIGNAL("skin"),self.pixmap_name)

def mouseReleaseEvent(self,event):

self.mouse_press = False

def enterEvent(self,event):

self.mouse_enter = True

self.update()

def leaveEvent(self,event):

self.mouse_enter = False

self.update()

if __name__ == '__main__':

import sys

app = QApplication(sys.argv)

skin = ChangeSkinWidget()

skin.show()

sys.exit(app.exec_())

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

python的按钮控件_python实现360皮肤按钮控件示例相关推荐

  1. python 按钮控件_python实现360皮肤按钮控件示例

    python实现360皮肤按钮控件示例. 代码: #!/usr/bin/python #-*-coding:utf-8-*- #site www.jbxue.com from PyQt4.QtGui ...

  2. python 按钮控件_python实现360皮肤按钮控件实例

    复制代码 代码如下: #!/usr/bin/python #-*-coding:utf-8-*- from PyQt4.QtGui import * from PyQt4.QtCore import ...

  3. python如何调整按钮的位置_Python tkinter布局与按钮间距设置方式

    Python tkinter布局与按钮间距设置方式 新建label与button,并设置位置(grid) import tkinter as tk root = tk.Tk() label = tk. ...

  4. python简单目标检测代码_Python Opencv实现单目标检测的示例代码

    一 简介 目标检测即为在图像中找到自己感兴趣的部分,将其分割出来进行下一步操作,可避免背景的干扰.以下介绍几种基于opencv的单目标检测算法,算法总体思想先尽量将目标区域的像素值全置为1,背景区域全 ...

  5. python合并excel文件关键字_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  6. python通过cookie绕过验证码_Python Selenium Cookie 绕过验证码实现登录示例代码

    之前介绍过通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1.直接看代码,内有详细注释说明 # FileName : Wm_Cookie ...

  7. python用二分法求平方根_Python使用二分法求平方根的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 使用二分法(Bisection Method)求平方根. # @param 使用二分法(Bisec ...

  8. python函数调用的一般形式_Python的函数的定义与使用示例

    Python培训分享函数的定义与使用示例,结合实例形式分析了Python函数的定义.参数.变量作用域.返回值等相关概念与使用技巧. Python定义函数使用def关键字,一般格式如下: def 函数名 ...

  9. python爬取歌曲评论_python 爬取歌曲评论的简单示例

    这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...

最新文章

  1. java停车管理系统中期检查_java毕业设计_springboot框架的停车场收费管理系统
  2. 微型计算机系统没有的总线是( ),微型计算机系统总线(1).ppt
  3. pidgin qq_Pidgin入门指南,通用消息客户端
  4. 容器服kubernetes_Kubernetes,标准化和安全性主导2017年Linux容器新闻
  5. 对不起,AI觉得你有虐童倾向,求职失败
  6. 斯坦福大学CS143编译原理课程笔记:1.编译器与解释器简介
  7. 韩媒:开城韩商访朝申请或最晚25日出结果
  8. 远程桌面连接服务器显示内部错误,解决远程桌面连接出现了内部错误
  9. 洛谷每日三题之第六天
  10. 任何矩阵都能变换成梯形阵的证明
  11. qq邮箱登录收件服务器是什么,你好请问qq邮箱收件服务器不能为空是什么意思...
  12. Diligent宣布2021年现代治理100强公司名单
  13. 零信任架构:下一代网络安全架构?
  14. python2.7 get-pip.py总是网络超时
  15. 几个不太常用,需要记录一下的Excel经验
  16. PADS-VX入门到精通实战项目讲解(上)—LOGIC部分-覃小刚-专题视频课程
  17. 实战项目之基于flask的及时聊天系统
  18. 00007__点阵字体(位图)和TrueType字体
  19. addEventListener兼容ie低版本
  20. 从零开始学架构——单服务器高性能模式

热门文章

  1. 如何将csv包含的数据导入SAP Cloud Platform HANA MDC里
  2. SAP UI5 Web Component React应用如何在Component之间跳转
  3. S/4HANA Product master OData
  4. some screenshot of Fiori cloud launchpad
  5. Cloud for Customer的工作中心(work center)加载源代码
  6. One order deletion tool
  7. No Authorization to generate extension field
  8. Touch the AppCache manifest file
  9. 016. Remove me test
  10. SAP Cloud for Customer里图片数据读取的逻辑