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中的is和id用法分析
Jan 26 Python
python将MongoDB里的ObjectId转换为时间戳的方法
Mar 13 Python
深入解析Python中的集合类型操作符
Aug 19 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python实现的连接mssql数据库操作示例
Aug 17 Python
Python线程同步的实现代码
Oct 03 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
python3 实现调用串口功能
Dec 26 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
详解Python IO口多路复用
Jun 17 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
咖啡常见的种类
2021/03/03 新手入门
php date与gmdate的获取日期的区别
2010/02/08 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
js分页代码分享
2014/04/28 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
回顾Javascript React基础
2019/06/15 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
python实现音乐下载器
2018/04/15 Python
Python requests模块实例用法
2019/02/11 Python
Python绘图实现显示中文
2019/12/04 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
数据库方面面试题
2012/04/22 面试题
英语专业学子个人的自我评价
2013/10/02 职场文书
六十大寿答谢词
2014/01/12 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
人资专员岗位职责
2014/04/04 职场文书
骨干教师考核评语
2014/12/31 职场文书
专家推荐信怎么写
2015/03/25 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
三八妇女节主持词
2015/07/04 职场文书
严以用权学习心得体会
2016/01/12 职场文书