程序员压力大?用 PyQt 做一个美*女GIF设置桌面,每天都有好心情
嗨害大家好鸭!我是小熊猫~
要说程序员工作的最大压力不是来自于工作本身,
而是来自于需要不断学习才能更好地完成工作,
因为程序员工作中面对的编程语言是在不断更新的,
同时还要学习熟悉其他语言来提升竞争力…
好了,学习固然重要,但是也要劳逸结合,
作为一个程序员,我真正想看的是美*女
每天看看美*女,心情都会变好,
心情好了,压力才会小鸭~
话不多说,一起来康康是如何实现的吧~
源码、素材python永久安装包:点击此处跳转文末名片获取
代码展示
导入相关需要使用的模块
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *import imageioimport 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()
界面展示
今天的文章就到这里啦~
我是小熊猫,咱下篇文章再见噜(✿◡‿◡)
👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇