Pyqt QSplashScreen启动画面
多大数应用程序启动时都会在程序完全启动时显示一个启动画面,在程序完全启动后消失。
程序启动画面可以显示一些有关产品的信息,让用户在等待程序启动的同时了解有关产品的功能,也是一个宣传的方式。
QSplashScreen类提供了在程序启动过程中显示的启动画面的功能
当运行程序时,在显示屏的中央出现一个启动画面,经过一段时间,应用程序完成初始化工作后,启动画面隐去,出现程序的主窗口界面
SplashScreen.py
# -*- coding:utf8 -*-
from PyQt4 import QtGui,QtCore
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys,time
from clock import DigiClock
class SplashScreen(QSplashScreen):
def __init__(self):
super(SplashScreen, self).__init__(QPixmap("clock.png")) #启动程序的图片 #效果 fade =1 淡入 fade= 2 淡出, t sleep 时间 毫秒
def effect(self):
self.setWindowOpacity(0)
t = 0
while t <= 50:
newOpacity = self.windowOpacity() + 0.02 #设置淡入
if newOpacity > 1:
break self.setWindowOpacity(newOpacity)
self.show()
t -= 1
time.sleep(0.04) time.sleep(1)
t = 0
while t <= 50:
newOpacity = self.windowOpacity() - 0.02 #设置淡出
if newOpacity < 0:
break self.setWindowOpacity(newOpacity)
t += 1
time.sleep(0.04) if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
splash = SplashScreen()
splash.effect()
app.processEvents() ##设置启动画面不影响其他效果
window = DigiClock() #程序的主类
window.show()
splash.finish(window) #启动画面完成启动
sys.exit(app.exec_())
clock.py
# -*- coding: utf-8 -*-
#时钟
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys class DigiClock(QLCDNumber):
def __init__(self,parent=None):
super(DigiClock,self).__init__(parent) p=self.palette()
p.setColor(QPalette.Window,Qt.red)
self.setPalette(p) self.setNumDigits(19)
self.dragPosition=None self.setWindowFlags(Qt.FramelessWindowHint)
self.setWindowOpacity(0.5) # 1表示100%显示, 0.5 透明度50% timer=QTimer(self)
self.connect(timer,SIGNAL("timeout()"),self.showTime)
timer.start(1000) self.showTime()
self.resize(500,60) def mousePressEvent(self,event):
if event.button()==Qt.LeftButton:
self.dragPosition=event.globalPos()-self.frameGeometry().topLeft()
event.accept()
if event.button()==Qt.RightButton:
self.close() def mouseMoveEvent(self,event):
if event.buttons() & Qt.LeftButton:
self.move(event.globalPos()-self.dragPosition)
event.accept() def showTime(self):
time=QTime.currentTime()
date=QDate.currentDate()
text= date.toString("yyyy-MM-dd")+" "+time.toString("hh:mm:ss")
self.display(text) if __name__ == '__main__':
app=QApplication(sys.argv)
form=DigiClock()
form.show()
app.exec_()
clock.png

效果:

Pyqt QSplashScreen启动画面的更多相关文章
- qt qsplashscreen 启动画面 延时
intdelayTime=3; QElapsedTimer timer; timer.start(); while(timer.elapsed()<(delayTime*1000)) { app ...
- QSplashScreen类实现Qt程序启动画面
QSplashScreen类实现Qt程序启动画面 收藏人:zwsj 2013-09-13 | 阅:569 转:6 | 来源 | 分享 程序启动 ...
- Qt5 程序启动画面动图效果
2333终于实现动图,先弄了一个窗口去掉标题栏假装就是启动画面了,还是那只萌萌的猫这次会动了! 基类用的是QWidget 类名称MainView #ifndef MAINVIEW_H #define ...
- Qt程序启动画面播放(gif与swf两种动画格式)
学习Qt有一段时间了,发现一个小问题,网上关于Qt的资料或者总结性的学习及应用文章有点少. 比如,Qt完整的API,程序运行之前的启动画面如何按理想效果播放等,每次想在项目中添加一些应用的时候,总是找 ...
- QT之实现程序启动画面
现在好多软件都有,尤其是大型软件,他们要加载的东西太多,因此需要的事件较长,而又不希望给用户产生成为好像没有响应的情况,因此也就需要程序启动画面来实现. 当然了,用widget要比这个丰富很多,不过代 ...
- Qt中实现启动画面(延时过程中要加上app.processEvents())
纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面 ,例如office软件等等. 在Qt中实现启动界面,主要就是 ...
- Qt中实现启动画面
纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面 ,例如office软件等等. 在Qt中实现启动界面,主要就是 ...
- 主窗口QMainWindow和启动画面
在较为大型复杂,功能较多的应用程序中,我们通常继承QMainWindow类来进行开发.该主窗口为搭建应用用户界面提供了非常好的框架,请看下图: 可以看出该主窗口类为我们提供了菜单栏(Menu Bar) ...
- qt学习(二):启动画面
打开一个软件,都会有启动画面. 现在去体验如何实现启动画面:输入图,装载,延时,下一张主部件图 在main.Cpp中实现启动时桌面图片. #include <QtGui/QApplication ...
随机推荐
- 剑指Offer 树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 思路: 分为2个部分.1先找出A中和B根节点相同的节点r. 2,咱判断B中所有孩子节点是不 ...
- git 教程(3)--时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容 Git is a distributed version co ...
- map的4种遍历方式
System.out.println("key= "+ key + " and value= " + map.get(key)); } ...
- 3-python学习——变量
变量是我所接触过的编程语言中都具有的一个概念,只是这个概念有的强有的弱罢了. 1.什么是python的变量 变量这个东西怎么解释呢?不怎么好说. 这么说吧,变量就相当于一个代名词,或者说是名字. 计算 ...
- PHP输出控制(Output Control)函数
ob_start 此函数将打开输出缓冲.当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中. 内部缓冲区的内容可以用 ob_get_contents() ...
- IP转换成LONG 的 问题
如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如 <?php echo ip2long("10.2.1.3"); ?> ...
- iOS 深入理解UINavigationController 和 UIViewController 之间的关系
创建三个类 BasicViewController : UIViewController SecondViewController : UIViewController ThirdViewContro ...
- c++转义字符、指针
上篇博客的答案: 1: // DataTypeDemo.cpp : 定义控制台应用程序的入口点. 2: // 3: 4: #include "stdafx.h" 5: #incl ...
- svn上传报Authorization failed错误解决办法
svn上传文件时没有弹出用户登录界面,而是直接报Authorization failed错误.出现该问题基本都是三个配置文件的问题,下面把这个文件列出来 svnserve.conf配置文件中的 [ge ...
- 解读Unity中的CG编写Shader系列五(理论知识)
转自 http://www.itnose.net/detail/6098474.html 经过前面的系列文章中的三个例子,尽管代码简单,但是我想应该还有些地方没有100%弄明白,我们现在得回过头来补充 ...