Pyqt QSplashScreen启动画面

多大数应用程序启动时都会在程序完全启动时显示一个启动画面,在程序完全启动后消失。程序启动画面可以显示一些有关产品的信息,让用户在等待程序启动的同时了解有关产品的功能,也是一个宣传的方式。QSplashScreen类提供了在程序启动过程中显示的启动画面的功能当运行程序时,在显示屏的中央出现一个启动画面,经过一段时间,应用程序完成初始化工作后,启动画面隐去,出现程序的主窗口界面
SplashScreen.py
 1 # -*- coding:utf8 -*-
 2 from PyQt4 import QtGui,QtCore
 3 from PyQt4.QtGui import *
 4 from PyQt4.QtCore import *
 5 import sys,time
 6 from clock import DigiClock
 7 class SplashScreen(QSplashScreen):
 8     def __init__(self):
 9         super(SplashScreen, self).__init__(QPixmap("clock.png"))  #启动程序的图片
10
11     #效果 fade =1 淡入   fade= 2  淡出,  t sleep 时间 毫秒
12     def effect(self):
13         self.setWindowOpacity(0)
14         t = 0
15         while t <= 50:
16             newOpacity = self.windowOpacity() + 0.02     #设置淡入
17             if newOpacity > 1:
18                 break
19
20             self.setWindowOpacity(newOpacity)
21             self.show()
22             t -= 1
23             time.sleep(0.04)
24
25         time.sleep(1)
26         t = 0
27         while t <= 50:
28             newOpacity = self.windowOpacity() - 0.02         #设置淡出
29             if newOpacity < 0:
30                 break
31
32             self.setWindowOpacity(newOpacity)
33             t += 1
34             time.sleep(0.04)
35
36
37 if __name__ == "__main__":
38     app = QtGui.QApplication(sys.argv)
39     splash = SplashScreen()
40     splash.effect()
41     app.processEvents()   ##设置启动画面不影响其他效果
42     window = DigiClock()     #程序的主类
43     window.show()
44     splash.finish(window)      #启动画面完成启动
45     sys.exit(app.exec_())

clock.py

 1 # -*- coding: utf-8 -*-
 2 #时钟
 3 from PyQt4.QtGui import *
 4 from PyQt4.QtCore import *
 5 import sys
 6
 7 class DigiClock(QLCDNumber):
 8     def __init__(self,parent=None):
 9         super(DigiClock,self).__init__(parent)
10
11         p=self.palette()
12         p.setColor(QPalette.Window,Qt.red)
13         self.setPalette(p)
14
15         self.setNumDigits(19)
16         self.dragPosition=None
17
18         self.setWindowFlags(Qt.FramelessWindowHint)
19         self.setWindowOpacity(0.5)   # 1表示100%显示, 0.5 透明度50%
20
21         timer=QTimer(self)
22         self.connect(timer,SIGNAL("timeout()"),self.showTime)
23         timer.start(1000)
24
25         self.showTime()
26         self.resize(500,60)
27
28     def mousePressEvent(self,event):
29         if event.button()==Qt.LeftButton:
30             self.dragPosition=event.globalPos()-self.frameGeometry().topLeft()
31             event.accept()
32         if event.button()==Qt.RightButton:
33             self.close()
34
35     def mouseMoveEvent(self,event):
36         if event.buttons() & Qt.LeftButton:
37             self.move(event.globalPos()-self.dragPosition)
38             event.accept()
39
40     def showTime(self):
41         time=QTime.currentTime()
42         date=QDate.currentDate()
43         text= date.toString("yyyy-MM-dd")+" "+time.toString("hh:mm:ss")
44         self.display(text)
45
46 if __name__ == ‘__main__‘:
47     app=QApplication(sys.argv)
48     form=DigiClock()
49     form.show()
50     app.exec_()
clock.png

效果:

				
时间: 2024-10-03 23:04:22

Pyqt QSplashScreen启动画面的相关文章

qt qsplashscreen 启动画面 延时

intdelayTime=3;QElapsedTimer timer;timer.start();while(timer.elapsed()<(delayTime*1000)){app.processEvents();}qt qsplashscreen 启动画面 延时,码迷,mamicode.com

QSplashScreen类实现Qt程序启动画面

QSplashScreen类实现Qt程序启动画面 收藏人:zwsj     2013-09-13 | 阅:569  转:6    |   来源   |  分享      程序启动画面一般用于显示软件信息(名称.作者.版权等)以及减少程序加载过程中的枯燥感. 在Qt中,可以通过QSplashScreen类来为应用程序添加一个启动画面,它会在应用程序的主窗口出现前显示一个图片,并且可以在图片上显示想要输出的信息. 下面是一个简单的例子: [cpp] view plaincopy #include <

Qt中实现启动画面

纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面 ,例如office软件等等. 在Qt中实现启动界面,主要就是使用QSplashScreen类.该类比较简单,这里就不对类本身做过多说明了,主要是以一个例子来说明他的使用方法. 1.首先,我们的实现如下: [cpp] view plaincopy #include <QApplication> #include <QSplashScreen> #

Qt5启动画面

在QT5中,对于程序的启动界面是通过QSplashScreen来实现的,他会在应用程序的主窗口显示前显示一个图片,在该图片上可以通过文字来显示想要输出的信息. QSplashScreen在QT中的API如下: class Q_WIDGETS_EXPORT QSplashScreen : public QWidget { Q_OBJECT public: explicit QSplashScreen(const QPixmap &pixmap = QPixmap(), Qt::WindowFlag

t5 杂谈(二)Qt5:Qt中启动画面的设置

t5 杂谈(二)Qt5:Qt中启动画面的设置 [复制链接] 上一主题下一主题 离线 艺术人生 加关注 艺 术 人 生 - 本帖被 XChinux 执行加亮操作(2016-04-23) - #include "mainwindow.h"#include <QApplication>#include <QSplashScreen>#include <QTextEdit>#include <QPixmap>#include <QTest&

Qt程序启动画面播放(gif与swf两种动画格式)

学习Qt有一段时间了,发现一个小问题,网上关于Qt的资料或者总结性的学习及应用文章有点少. 比如,Qt完整的API,程序运行之前的启动画面如何按理想效果播放等,每次想在项目中添加一些应用的时候,总是找不到好的书籍或文章可以马上学习.上手. 今天,就把前段时间对启动画面播放的学习及尝试做一个小小的总结.如果对大家有所帮助,那自然好:如果有什么不足或有什么可以改进的地方,还望朋友们多给点意见及建议,谢谢! 过程很简单,只是建立了一个基于Qt控制台的项目,文件也只有一个——"main.cpp"

PyQt5开发小记,如何实现程序启动画面和退出提示?

程序启动画面: if __name__ == "__main__": ui_style = UIStyle().get_style() app = QtWidgets.QApplication(sys.argv) # 创建QSplashScreen对象实例 splash = QtWidgets.QSplashScreen(QtGui.QPixmap("UserView/logo.png")) # 设置画面中的文字的字体 splash.setFont(QFont('M

Android App启动画面实现

app打开时都会有个启动画面(一幅图.一个提示之类的),画面停留2-3秒,然后结束掉自己,启动要呈现的第一个activity. Handler的postDelayed方法就很适合实现这个功能.它相当于一个定时器,可以使所在绑定了该handler的所在线程延时执行一段代码. postDelayed(Runnable r,long uptimeMillis); 第一个参数是要延时执行的代码段.第二个参数是要延长多少秒.     private Handler mHandler = new Handl

为你的Web程序加个启动画面

http://www.cnblogs.com/Wayou/p/3675822.html .Net开发者一定熟悉下面这个画面: 这就是宇宙第一IDE Visual Studio的启动画面,学名叫Splash Screen(或者Splash Window).同样,Javar们一定对Eclipse的启动画面不会陌生.不只是IDE,很多桌面程序都会有这个Splash 窗口,在程序进行初始化时显示. 这方面做得最赞的非Adobe旗下的设计类软件莫数了,毕竟是搞艺术出身的啊.博主从PS 8.0用起,每次升级