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 ...
随机推荐
- SVN版本冲突解决
解决冲突有三种选择: A.放弃自己的更新,使用svn revert(回滚),然后提交.在这种方式下不需要使用svn resolved(解决) B.放弃自己的更新,使用别人的更新.使用最新获取的版本覆盖 ...
- git 教程(10)--添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...
- HDU 3549 网络最大流再试
http://acm.hdu.edu.cn/showproblem.php?pid=3549 同样的网络最大流 T了好几次原因是用了cout,改成printf就A了 还有HDU oj的编译器也不支持以 ...
- Weiphp随笔,百度天气API接口
新建插件名必须大写 http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json ...
- C++ 输出调试的一些技巧
主要利用了宏和stderr... #define enable_debug #ifdef enable_debug FILL some macros/functions here #else /// ...
- neutron用linux_bridge部署provider网络
网卡配置: # The loopback network interface auto lo iface lo inet loopback # The primary network interfac ...
- redis pub/sub 实战: 微信语音识别
2015年5月22日 20:20:20 星期五 效果: 这边对微信说话, 浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...
- ACM/ICPC 之 双向链表_构造列表-模拟祖玛 (TSH OJ-Zuma(祖玛))
这一题是TsingHua OJ上的一道题目,学堂在线的一位数据结构老师的题目(原创),所以我直接把题目先贴下来了,这道题对复习双向链表很有帮助,而且也对数据结构中List,也就是对列表的回顾也是很有帮 ...
- Java for LeetCode 212 Word Search II
Given a 2D board and a list of words from the dictionary, find all words in the board. Each word mus ...
- Greedy:Sum of Consecutive Prime Numbers(POJ 2739)
素数之和 题目大意:一些整数可以表示成一个连续素数之和,给定一个整数要你找出可以表示这一个整数的连续整数序列的个数 方法:打表,然后用游标卡尺法即可 #include <iostream> ...