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实现随机密码字典生成器示例
Apr 09 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
Python Nose框架编写测试用例方法
Oct 26 Python
python字符串的方法与操作大全
Jan 30 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
Python pymsql模块的使用
Sep 07 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 缓存函数代码
2008/08/27 PHP
解析php中curl_multi的应用
2013/07/17 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP内置加密函数详解
2016/11/20 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
php输出图像的方法实例分析
2017/02/16 PHP
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
Python中关于浮点数的冷知识
2019/09/22 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
工商管理专业实习生自我鉴定
2013/09/29 职场文书
九年级体育教学反思
2014/01/23 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
基于Python实现将列表数据生成折线图
2022/03/23 Python
MySQL创建管理子分区
2022/04/13 MySQL