Python实现一个小小的图片播放器,就是这么简单!

零、小序

Python是一个语法简单的语言,Python的框架却没有那么简单,真想学好Python来做项目并不是一件简单的事情,这里在windows下用PyCharm开发,使用PyQt5来实现了一个小小的图片播放器。

一、图片播放器介绍

1、功能介绍

使用PyQt5这个强大的库来实现界面和图片浏览功能,界面使用QtDesigner来设计并通过PyUIC把Qt设计师绘制的界面转化为Python代码,界面布局主要有QMainWindow和QLabel这另两个空间来实现。该工具支持单张图片的打开和打开文件夹两种功能,图片显示使用QLabel+QPixmap来显示,界面的周边使用QLabel增加了一些动态文字的显示功能。

2、用到的技术

主要使用到PyQt5的信号和槽处理机制、QTimer定时器的使用、Qt设计师的使用、QLabel的使用、QPixmap的使用、QFileDialog打开文件和文件夹的使用等技术,详细使用情况请看代码。Qt设计师的使用可以参考我之前写的一篇文章:https://blog.csdn.net/toby54king/article/details/101383374

3、图片播放效果

下图是操作和效果,为了减小动态图占用空间,录制的动态图做了一些减帧处理,效果看着可能有些不是很好。
在这里插入图片描述

二、主要代码

1、Python代码

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

# Form implementation generated from reading ui file 'ScanPicture.ui'
#
# Created by: PyQt5 UI code generator 5.13.1
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QTimer

import sys,os

class Ui_MainWindow(object):
    def __init__(self):
        # 存储图片vector
        self.vector = []
        self.posTop = 0
        self.posBottom = 0
        self.posLeft = 0
        self.posRight = 0
        self.index = 0

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(891, 685)
        font = QtGui.QFont()
        font.setPointSize(9)
        MainWindow.setFont(font)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        font = QtGui.QFont()
        font.setPointSize(15)
        font.setBold(False)
        font.setWeight(50)
        self.centralwidget.setFont(font)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setSpacing(0)
        self.gridLayout.setObjectName("gridLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.labelLeft = QtWidgets.QLabel(self.centralwidget)
        self.labelLeft.setMinimumSize(QtCore.QSize(25, 0))
        self.labelLeft.setMaximumSize(QtCore.QSize(25, 16777215
  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值