wxPython实现整点报时


Posted in Python onNovember 18, 2019

本文实例为大家分享了wxPython整点报时的具体代码,供大家参考,具体内容如下

# C盘要有个wav文件,内含报时音频
import wx              
import time# 获取时间
import wave# 波形处理
import pyaudio# 播放器

class MyFrame(wx.Frame):
 def __init__(self,parent,id):
  wx.Frame.__init__(self,parent,id,title="整点报时",size=(410,150),style=wx.SYSTEM_MENU|wx.MINIMIZE_BOX|wx.CLOSE_BOX|wx.CAPTION)
  self.Center()
  self.InitUI()
  
 def InitUI(self):
  panel = wx.Panel(self)
  panel.SetBackgroundColour("green")
  t = time.strftime("%H:%M:%S",time.localtime())# 设置初始值
  self.text = wx.StaticText(panel,-1,t)
  font = wx.Font(72,wx.DEFAULT,wx.FONTSTYLE_NORMAL,wx.NORMAL,faceName="黑体")
  self.text.SetFont(font)
  self.text.SetForegroundColour("red")
  self.timer = wx.Timer(self)# 创建一个计时器对象
  self.Bind(wx.EVT_TIMER,self.Time,self.timer)# 绑定计时器事件
  self.timer.Start(1000)# 计时器计时1秒
  
 def Time(self,event):
  t = time.strftime("%H:%M:%S",time.localtime())
  self.text.SetLabel(t)# 刷新显示
  for i in range(0,24):
   temp = "{:0>2d}:00:00".format(i)
   if t == temp:# 判断是否为整点
    filename = "C:\\wav\\"+"{:0>2d}.wav".format(i)# 找到对应的wav文件路径
    self.Sound(filename)# 播放声音
    break
   
 def Sound(self,filename):
  f = wave.open(filename,'rb')# 加载音频文件(wav)
  pms = f.getparams()# 获取音频的属性参数
  nchannels, sampwidth, framerate, nframes = pms[:4]# 单独提取出各参数的值,并加以定义
  p = pyaudio.PyAudio()# 创建一个播放器
  s = p.open(format = p.get_format_from_width(sampwidth),channels = nchannels,rate = framerate,output = True)# 将音频转换为音频流
  while True:
   data = f.readframes(1024)# 按照1024大小的块,读取音频数据,得到一系列二进制编码
   if data == b'':
    break
   s.write(data)# 开始按照音频的参数,播放音频
  s.close()
  p.terminate()
   
if __name__ == '__main__':
 app = wx.App()           # 初始化wx.App类
 frame = MyFrame(parent=None, id=-1) # 实例MyFrame类,并传递参数
 frame.Show()            # 显示窗口
 app.MainLoop()           # 调用App类的MainLoop()主循环方法

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的类方法和静态方法
Dec 13 Python
python查找目录下指定扩展名的文件实例
Apr 01 Python
Python编程实现的图片识别功能示例
Aug 03 Python
详解appium+python 启动一个app步骤
Dec 20 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python交易记录整合交易类详解
Jul 03 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
Python简单实现区域生长方式
Jan 16 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
python 利用toapi库自动生成api
Oct 19 Python
python字符串的拼接方法总结
Nov 18 #Python
python将字符串转变成dict格式的实现
Nov 18 #Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 #Python
python实现输出一个序列的所有子序列示例
Nov 18 #Python
Python中的四种交换数值的方法解析
Nov 18 #Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 #Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 #Python
You might like
PHP PDO函数库详解
2010/04/27 PHP
php生成图片验证码的方法
2016/04/15 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python中的with...as用法介绍
2015/05/28 Python
浅谈Python单向链表的实现
2015/12/24 Python
python实现按行切分文本文件的方法
2016/04/18 Python
浅谈对yield的初步理解
2017/05/29 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
通过cmd进入python的实例操作
2019/06/26 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
社区食品安全实施方案
2014/03/28 职场文书
志愿者活动总结范文
2014/04/26 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
单位实习鉴定评语
2015/01/04 职场文书
汉字听写大会观后感
2015/06/12 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python