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 相关文章推荐
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
Python存取XML的常见方法实例分析
Mar 21 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
iPython pylab模式启动方式
Apr 24 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
通过代码实例了解Python3编程技巧
Oct 13 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缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
python实现的分层随机抽样案例
2020/02/25 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
Python自动登录QQ的实现示例
2020/08/28 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
任命书模板
2014/06/04 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android