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 相关文章推荐
AI人工智能 Python实现人机对话
Nov 13 Python
python切片及sys.argv[]用法详解
May 25 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
python 实现多维数组(array)排序
Feb 28 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
python如何操作mysql
Aug 17 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python中使用 unittest.TestCase单元测试的用例详解
Aug 30 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中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python实现人脸签到系统
2020/04/13 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
大学生村官承诺书
2014/03/28 职场文书
教职工代表大会主持词
2014/04/01 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
关于童年的读书笔记
2015/06/26 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
python Polars库的使用简介
2021/04/21 Python
python3实现无权最短路径的方法
2021/05/12 Python
Elasticsearch 配置详解
2022/04/19 Java/Android