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
投稿
猜你喜欢
- 下面演示了,当asp程序发生错误时,屏蔽系统默认的错误显示,而显示自定义的错误信息。<%@ LANGUAGE="V
- 一、简介本篇文章将通过实现一个简易版的Web服务器,帮助读者理解Python网络编程的基本概念和技巧。我们将分为以下几个部分来展开本文的内容
- 音乐流媒体服务的兴起使得音乐无处不在。我们在上下班的时候听音乐,锻炼身体,工作或者只是放松一下。这些服务的一个关键特性是播放列表,通常按流派
- 本章给大家在项目使用时候,常见的一种情况解决案例,即是当我们调用多个线程,使用了同一个函数去处理数据的时候,有些用函数已经处理完成,但是有些
- 【eval()函数】JavaScript有许多小窍门来使编程更加容易。其中之一就是eval()函数,这个函数可以把一个字符串当作一个Java
- 写在前面周日下午在家学习,看到一个关于切片的问题,在网上找了一些资料,做个总结。上代码func main() {sl := make([]i
- 背景: 由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在不同的目录
- 当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。所有其它信息作为能被任何人读懂的文本被传输。如果你担心这个
- Python 界有条不成文的准则: 计算密集型任务适合多进程,IO 密集型任务适合多线程。本篇来作个比较。通常来说多线程相对于多进程有优势,
- 本文实例讲述了python写xml文件的操作的方法,分享给大家供大家参考。具体方法如下:要生成的xml文件格式如下:<?xml ver
- 排序算法排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是
- 如下所示:1、计算总帧数import osimport cv2video_cap = cv2.VideoCapture('ffmpe
- 因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个
- 自己从工艺品设计到平面设计到网络设计,虽然设计原则不离其宗,但经验下来的心得告诉自己,设计媒介的变化带来很多媒介自身的特殊性,下面总结下网站
- 如下所示:import tensorflow as tfsess = tf.Session(config=tf.ConfigProto(lo
- 在MAC的Anaconda上使用pyspark,主要包括以下步骤:在MAC下安装Spark,并配置环境变量。在Anaconda中安装引用py
- 方法一使用Python中的内置函数isupper()和islower()来判断一个字母是否为大写或小写字母。# 获取用户输入letter =
- Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码
- 读取mat文件生成h5文件1. Matlab生成 .mat 文件p = rand(1,10);q = ones(10);save('
- golang的单引号转义如题,golang中有时候需要将一个字符串中的单引号再转义一次,比如在两个单引号之间包含一个含有单引号的字符串的情形