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 两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点. 思路: 题目说的很笼统,应该是有2个链表,找出公共点,第一个公共点后面的链表是共同所有的.可以用map做,直接检测map里有没有出现这个节点. ...
- 剑指Offer 栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...
- Qt5 托盘模仿qq闪烁,弹消息框实现
在别人代码基础上做的,课设刚好用上了,贴出来分享Qt5.5.1实现. 图片自己找. #ifndef DIALOG_H #define DIALOG_H #include <QDialog> ...
- mysql 表关联查询报错 ERROR 1267 (HY000)
解决翻案:http://stackoverflow.com/questions/1008287/illegal-mix-of-collations-mysql-error 即: SET collati ...
- phpcms常用方法简介
function thumb() /** * 生成缩略图函数 * @param $imgurl 图片路径 * @param $width 缩略图宽度 * @param $height 缩略图高度 * ...
- phpcms get标签用法
{pc:get sql="SELECT t.*,n.*,n.typeid nt FROM v9_type t LEFT JOIN v9_news n ON n.typeid=t.typeid ...
- ubuntu14.04 archive sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb http://archive. ...
- Linux下VMware虚拟机网卡不能运行在混杂模式解决办法
转自: http://blog.csdn.net/henulwj/article/details/50347489 问题描述 在Linux如果以普通用户运行VMware Workstations,创建 ...
- vs版本转换工具
[转]C#写的工程项目移植转换工具 – 支持VS2005/VS2010/VS2012/VS2013 经常用Visual Studio开发项目的是不是会经常遇到下面这种情况或者类似于这样的情况?用新 ...
- inline函数的用法
在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间或是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数.栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间 ...