pyqt添加启动等待界面的操作

 更新时间:2021年03月17日 10:42:09   作者:“人生苦短”  
这篇文章主要介绍了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() 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python Django view 两种return的实现方式

    Python Django view 两种return的实现方式

    这篇文章主要介绍了Python Django view 两种return的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • CodeWhisperer基于python使用经验分享

    CodeWhisperer基于python使用经验分享

    这篇文章主要为大家介绍了CodeWhisperer基于python使用经验分享,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • openCV入门学习基础教程第二篇

    openCV入门学习基础教程第二篇

    人脸识别,物体检测,OpenCV是基石,下面这篇文章主要给大家介绍了关于openCV入门学习基础教程的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python3压缩和解压缩实现代码

    Python3压缩和解压缩实现代码

    这篇文章主要介绍了Python3压缩和解压缩实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python使用ThreadPoolExecutor一次开启多个线程

    Python使用ThreadPoolExecutor一次开启多个线程

    通过使用ThreadPoolExecutor,您可以同时开启多个线程,从而提高程序的并发性能,本文就来介绍一下Python使用ThreadPoolExecutor一次开启多个线程,感兴趣的可以了解一下
    2023-11-11
  • Python中的getter与setter及deleter使用示例讲解

    Python中的getter与setter及deleter使用示例讲解

    这篇文章主要介绍了Python中的getter与setter及deleter使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • 使用Python创建websocket服务端并给出不同客户端的请求

    使用Python创建websocket服务端并给出不同客户端的请求

    本文主要介绍了使用Python创建websocket服务端并给出不同客户端的请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • python怎么提高计算速度

    python怎么提高计算速度

    在本篇文章里小编给大家分享的是一篇关于python中如何提高计算速度的技术文章,需要的朋友们可以学习下。
    2020-06-06
  • 深入了解Python二维直方图

    深入了解Python二维直方图

    只统计像素的灰度值这一特征,可将其成为一维直方图。二维直方图可以统计像素的色相和饱和度,用于查找图像的颜色直方图。本文将为大家介绍分别使用OpenCV和NumPy函数计算直方图,需要的可以学习一下
    2021-12-12
  • 如何使用Python中的正则表达式处理html文件

    如何使用Python中的正则表达式处理html文件

    html类型的文本数据内容是由前端代码书写的标签+文本数据的格式,可以直接在chrome浏览器打开,清楚的展示出文本的格式,下面这篇文章主要给大家介绍了关于如何使用Python中的正则表达式处理html文件的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论