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的常见命令注入威胁
Feb 18 Python
python根据出生日期返回年龄的方法
Mar 26 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
python opencv实现信用卡的数字识别
Jan 12 Python
Python集成开发工具Pycharm的安装和使用详解
Mar 18 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
Python select及selectors模块概念用法详解
Jun 22 Python
详解python 内存优化
Aug 17 Python
Pandas直接读取sql脚本的方法
Jan 21 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 Python
Python中Cookies导出某站用户数据的方法
May 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
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
php生成扇形比例图实例
2013/11/06 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
《春晓》教学反思
2014/04/20 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android