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中base64加密解密方法实例分析
May 16 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python 获取div标签中的文字实例
Dec 20 Python
原生python实现knn分类算法
Oct 24 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
Python-openCV读RGB通道图实例
Jan 17 Python
Python 批量下载阴阳师网站壁纸
May 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读取msn上的用户信息类
2008/12/05 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
概述BootStrap中role="form"及role作用角色
2016/12/08 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
详解Python中for循环的使用
2015/04/14 Python
python实现发送邮件功能
2017/07/22 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
python 切换root 执行命令的方法
2019/01/19 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
python中如何使用insert函数
2020/01/09 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
幼教毕业生自我鉴定
2014/01/12 职场文书
婚礼新郎父母答谢词
2014/01/16 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
承诺书格式
2014/06/03 职场文书
运动员获奖感言
2014/08/15 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
月考总结与反思
2015/10/22 职场文书
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android