专栏首页编程创造城市Python高级进阶教程022期 pyqt5 qtimer实现图片轮播

Python高级进阶教程022期 pyqt5 qtimer实现图片轮播

1.知识回顾:

  • 1.使用label控件去绑定
  • 2.使用label去实现链接
  • 3.掌握简单的html

本节知识视频教程

以下开始文字讲解:

2.案例

案例:图片轮播

1.载入图片

2.载入并配置时钟控件

3.时钟控件介绍

本次的时钟控件,我们使用Qtimer这个类来实现。

这个时钟控件的好处是,我们可以自定义槽方法。

使用格式:

  • 1.载入timer

timer1=QTimer(self)

  • 2.掌握超时信号timeout

这里的超时的意思是:超时后,要执行什么代码。在timer中体现为去执行什么槽函数。

timer1.timeout.connect(self.timer_TimeOut)

  • 3.启动时钟控件

使用控件的start方法。timer1.start(1000) 注意,这里的时间单位是毫秒,代表超时的时间。

4.图片处理

  • 1.使用的是qpixmap类
  • 2.载入图片前要把图片名称进行有规律的处理
  • 3.每次修改完成图片后,要重新载入label控件
  • 4.图片的逻辑处理:处理不要载入没有文件的图片

5.总结强调

1.掌握时钟控件qtimer的使用

2.掌握图片载入的逻辑处理

6.本节知识源代码

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QLabel
from PyQt5.QtCore import QTimer
from PyQt5.QtGui import QPixmap

class MyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.n=1
        self.initUI()

    def initUI(self):
        self.setWindowTitle("刘金玉编程")
        self.resize(400,300)

        self.pm=QPixmap("./img/a" +str(self.n)+".jpg")
        self.lblpic=QLabel(self)
        self.lblpic.setPixmap(self.pm)
        self.lblpic.resize(200,200)
        self.lblpic.move(self.width()/2-self.lblpic.width()/2,50)
        self.lblpic.setScaledContents(True)

        lb12=QLabel(self)
        lb12.setText("图片轮播")
        lb12.move(180,20)

        timer1=QTimer(self)
        timer1.timeout.connect(self.timer_TimeOut)
        timer1.start(1000)
        self.show()

    def timer_TimeOut(self):
        self.n+=1
        if self.n>4:
            self.n=1
        self.pm = QPixmap("./img/a" + str(self.n) + ".jpg")
        self.lblpic.setPixmap(self.pm)

if __name__=="__main__":
    app=QApplication(sys.argv)

    mc=MyClass()
    sys.exit(app.exec_())

本文分享自微信公众号 - 编程创造城市(bcczcs),作者:刘金玉编程

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python高级进阶#006 pyqt5类封装

    刘金玉编程
  • Python高级进阶#020 pyqt5登录窗体实战,综合实践案例

    self.lePassword.setEchoMode(QLineEdit.Password)

    刘金玉编程
  • Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer

    这里我们在学习使用进度条的时候,必须要结合使用时钟控件,这样才能让我们看到进度条动的感觉。

    刘金玉编程
  • 致青春--Python实现俄罗斯方块

    俄罗斯方块游戏是世界上最流行的游戏之一。是由一名叫Alexey Pajitnov的俄罗斯程序员在1985年制作的,从那时起,这个游戏就风靡了各个游戏平台,而且俄...

    PM小王
  • Python魔术方法-Magic Method

    目录[-] 介绍 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,例如类的初始化方法 __init__ ,Pyt...

    jhao104
  • 从item-base到svd再到rbm多种协同过滤算法从原理到实现

    一.引入 一直想写一篇关于推荐系统的文章总结下,这次借着完善DML写一下,权当是总结了。不过真正的推荐系统当然不会这么简单,往往是很多算法交错...

    机器学习AI算法工程
  • python 长连接 mysql数据库

    python链接mysql中没有长链接的概念,但我们可以利用mysql的ping机制,来实现长链接功能

    py3study
  • Seleninum&PhamtomJS爬取煎蛋网妹子图

    mylog.py  日志模块,记录一些爬取过程中的信息,在大量爬取的时候,没有log帮助定位,很难找到错误点

    py3study
  • 利用Python编写一个行业专用的小计算器

    前言:本文讲述的是如何利用python编程制作一个适用于指定行业的计算器,方便计算结果,涵盖的知识点由Python编写GUI界面程序,利用爬虫采集实时的汇率数据...

    用户7886150
  • Python实现系统桌面时钟

    用Python + PyQT写的一个系统桌面时钟,刚学习Python,写的比较简陋,但是基本的功能还可以。

    py3study

扫码关注云+社区

领取腾讯云代金券