pyqt添加启动等待界面的操作
作者:“人生苦短” 发布时间:2023-04-29 02:27:11
标签:pyqt,启动,等待,界面
一、实验环境
1.Windows7x64_SP1
2.anaconda3.7 + python3.7(anaconda集成,不需单独安装)
3.pyinstaller3.5#使用pyinstaller3.0,打包时报错
二、实验步骤
1.resource.qrc文件中添加图片资源
<RCC>
<qresource>
<file alias="contacts.png">ico/contacts.png</file>
<file alias="exit.png">ico/exit.png</file>
<file alias="about.png">ico/about.png</file>
<file alias="config.png">ico/config.png</file>
<file alias="help.png">ico/help.png</file>
<file alias="xel.png">ico/xel.png</file>
<file alias="xel_small.png">ico/xel_small.png</file>
<file alias="magnifier.png">ico/magnifier.png</file>
<file alias="wait.png">ico/wait.png</file>
</qresource>
</RCC>
2.使用pyrcc5生成最新的resource.py文件,命令参考如下:
pyrcc5 -o resource.py resource.qrc
3.更改程序主文件
# -*- coding: utf-8 -*-
import os,sys,time,re
from PyQt5.QtWidgets import QMainWindow,QMessageBox
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication,QDialog,QSplashScreen
from PyQt5 import QtCore,QtGui
from untitled import Ui_MainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
splash = QSplashScreen(QtGui.QPixmap(":/wait.png")) # 启动界面图片地址
splash.show() # 展示启动图片
app.processEvents() # 防止进程卡死
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/magnifier.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
tool = SmartBit_Tool()
tool.setWindowIcon(icon)
tool.show()
splash.finish(tool) # 关闭启动界面
sys.exit(app.exec_())
4.运行结果
运行exe文件发现,从双击exe文件至弹出启动界面图片,还是存在一定的延时!如何缩短这个延时,还需要继续研究,知道的童鞋也请告知!
5.提升运行速度
代码中不用的库,删除其导入语句
尽量使用from xxx import xxx,少用from xxx import *
使用pyinstaller打包文件,打包为一个文件夹
补充:PyQt5启动画面——等待程序启动不用干瞪眼
PyQt的启动画面可以通过QSplashScreen类来快捷制作,支持透明图片
import sys
from PyQt5 import QtWidgets, QtGui
# 对Qt部件的操作一般都要在创建Qt程序后才能进行
app = QtWidgets.QApplication(sys.argv)
# 创建启动界面,支持png透明图片
splash = QtWidgets.QSplashScreen(QtGui.QPixmap('splash.png'))
splash.show()
# 可以显示启动信息
splash.showMessage('正在加载……')
# 关闭启动画面
splash.close()
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://www.cnblogs.com/hester/p/11386956.html
0
投稿
猜你喜欢
- 做项目的时候,用户认证几乎是必不可少的,如果我们的项目由于一些原因不得不使用 users 之外的用户表进行认证,那么就需要多做一点工作来完成
- 本文实例讲述了php+redis实现注册、删除、编辑、分页、登录、关注等功能。分享给大家供大家参考,具体如下:主要界面连接redisredi
- 系列最后一篇来说说Python中的类与对象,Python这门语言是无处不对象,如果你曾浅要了解过Python,你应该听过Python是一种面
- 本文为大家分享了Win中安装mysql的详细步骤,供大家参考,具体内容如下mysql下载目录选择免安装版“Windows (x86, 64-
- 题记:django如果要并和原有的数据库,那么就需要把现有数据库的表写入model.py中。一,在setting.py中配置好连接数据库的参
- 前言有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为。又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房
- 本文实例为大家分享了vue实现全屏滚动效果(的具体代码,供大家参考,具体内容如下是什么网页的一个页面占据一屏的宽高,多个页面上下或者左右拼接
- Python字符串拼接的6种方法:1.加号第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接
- 楔子上一篇文章我们探讨了 GIL 的原理,以及如何释放 GIL 实现并行,做法是将函数声明为 nogil,然后使用 with nogil 上
- 前言虽然现在文件上传下载工具多如牛毛,比如http、ftp、sftp、scp等方案都可以用于文件传输,但都是需要安装服务器甚至客户端。有一种
- Java读取数据库表package com.easycrud.builder;import com.easycrud.utils.Prope
- Phar是什么在百度中得到介绍是这样的:在软件中,PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样
- 作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一个区块链。对数字货币的崛起感到新奇的我们,并且想知道其背后
- Go语言也称 Golang,兼具效率、性能、安全、健壮等特性。Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验就可以轻松
- Q: 不知xml和html有什么区别?它们不同在哪? A: 关于XML和HTML区别请参考: http://www.w3c.org/Mark
- 本节主要讲的是if条件不满足时,也可以给提示,就是走else必须先做类型转换另一种写法if-else语句else后的冒号,必须是英文的&am
- 前言之前用过Eel做的桌面应用觉得已经够 * 了,不过由于Eel是调用Chrome,时常出现各种小问题,比如窗口大小设置后有时候不管用,鼠标右键
- 介绍Zmail 使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议,zmail会帮你完成。此外,
- 一、YOLOv5简介YOLOv5是一种目标检测算法,由ultralytics公司开发。它采用单一神经网络同时完成对象识别和边界框回归,并使用
- 前言minio分享文件的链接,最多支持分享七天通过 MinIO客户端 管理存储桶策略的方式实现文件链接永久有效1.下载MinIO Clien