当前位置: 首页 > news >正文

程序员压力大?用 PyQt 做一个美*女GIF设置桌面,每天都有好心情

嗨害大家好鸭!我是小熊猫~

要说程序员工作的最大压力不是来自于工作本身,

而是来自于需要不断学习才能更好地完成工作,
因为程序员工作中面对的编程语言是在不断更新的,
同时还要学习熟悉其他语言来提升竞争力…

好了,学习固然重要,但是也要劳逸结合,
作为一个程序员,我真正想看的是美*女

每天看看美*女,心情都会变好,
心情好了,压力才会小鸭~

在这里插入图片描述

话不多说,一起来康康是如何实现的吧~

源码、素材python永久安装包:点击此处跳转文末名片获取

代码展示

导入相关需要使用的模块

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

import imageio

import sys
import os
from datetime import datetime

请添加图片描述

UI 界面制作函数过程

def init_ui(self):
    self.setWindowTitle('Gif图片生成器')
    self.setWindowIcon(QIcon('图标.ico'))

    vbox = QVBoxLayout()

    self.moive_label = QLabel()
    gif = QMovie()
    gif.setFileName('20220124215914.gif')
    self.moive_label.setMovie(gif)
    gif.start()

    grid = QGridLayout()

    self.images_text = QLineEdit()
    self.images_text.setPlaceholderText('源图片文件')
    self.images_text.setReadOnly(True)

    self.images_btn = QPushButton()
    self.images_btn.setText('选择图片')
    self.images_btn.clicked.connect(self.images_btn_click)

    self.save_dir = QLineEdit()
    self.save_dir.setPlaceholderText('存储路径')
    self.save_dir.setReadOnly(True)

    self.save_dir_btn = QPushButton()
    self.save_dir_btn.setText('存储路径')
    self.save_dir_btn.clicked.connect(self.save_dir_btn_click)

    self.generate_btn = QPushButton()
    self.generate_btn.setText('快速生成')
    self.generate_btn.clicked.connect(self.generate_btn_click)

    grid.addWidget(self.images_text, 0, 0, 1, 2)
    grid.addWidget(self.images_btn, 0, 2, 1, 1)

    grid.addWidget(self.save_dir, 1, 0, 1, 2)
    grid.addWidget(self.save_dir_btn, 1, 2, 1, 1)

    grid.addWidget(self.generate_btn, 2, 0, 1, 3)

    vbox.addLayout(grid)

    vbox.addWidget(self.moive_label)

    self.setLayout(vbox)

GIF动态图片生成过程

def generate_btn_click(self):
    paths = []
    image_paths = self.images_text.text().strip().split(",")
    for image_path in image_paths:
        if image_path.strip() != '':
            paths.append(image_path)
    print('已选择的图片路径:', paths)
    gif_image = []
    for path in paths:
        gif_image.append(imageio.imread(path))
    gif_path = self.save_dir.text().strip() + '/' + datetime.now().strftime("%Y%m%d%H%M%S") + '.gif'
    imageio.mimsave(gif_path, gif_image, fps=1)
    gif = QMovie()
    gif.setFileName(gif_path)
    self.moive_label.setMovie(gif)
    gif.start()


界面展示

在这里插入图片描述

今天的文章就到这里啦~

我是小熊猫,咱下篇文章再见噜(✿◡‿◡)

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关文章:

  • 文献资源最多的文献下载神器,99.99%的文献都可下载
  • JPA 之 QueryDSL-JPA 使用指南
  • 【C++】AVL树,平衡二叉树详细解析
  • 嵌入式学习笔记——STM32硬件基础知识
  • Pytorch处理数据与训练网络问题汇总(协同训练)
  • linux基本指令和权限
  • 初学者的第一个Linux驱动
  • 第十四届蓝桥杯三月真题刷题训练——第 2 天
  • Python Pytorch开发环境搭建(Windows和Ubuntu)
  • 【2.4 golang中循环语句for】
  • 数组之双指针题
  • 【0177】Linux中POSIX信号量实现机制
  • 不写代码、年薪百万,带你玩赚ChatGPT提示工程-高级提示
  • ACM---大一第三周周赛(Floyd算法+并查集算法学习周)
  • 搭建zabbix4.0监控服务实例
  • Elasticsearch:构建自动补全功能 - Autocomplete
  • 华为校招机试 - 检测热点字符(Java JS Python)
  • C语言实现三子棋【详解+全部源码】
  • 【C++PrimerPlus】第三章 处理数据
  • Qt 防止程序退出
  • 我国成功发射试验二十七号卫星01星~06星
  • 中国船东协会:强烈要求美方停止基于政治偏见的调查和行动
  • 夜读丨“看看世界”本身就是一种意义
  • 美肯塔基州长警告:关税或致美家庭年增数千美元支出
  • 昆明盘龙区一火灾调查报告公布:老人火盆取暖引燃房屋致身亡
  • 广西旱情如何?农业厅:近半数农田墒情不足至干旱,本月降雨将渐增