wxPython实现整点报时
作者:吴越南蛮 发布时间:2023-06-11 05:25:39
标签:wxPython,整点报时
本文实例为大家分享了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()主循环方法
来源:https://blog.csdn.net/weixin_43069875/article/details/103098529


猜你喜欢
- 客户强烈要求使用淘宝的首页商品分类效果,很BT~,没辙就满足一下人家的需求。通过淘宝案例,立即想到了显示/隐藏层的效果,于是在DW中画了几个
- str='python String function'生成字符串变量str='python String func
- 本文实例讲述了python列表操作之extend和append的区别。分享给大家供大家参考。具体如下:li = ['a',
- 这个问题让我查了许多天才解决,为了避免后面的人重复走弯路,记录下来。问题描述:我在ubuntu 下编译安装了caffe ,在命令行模式下可以
- 与其它大多数语言一样,Python 也拥有 for 循环。你到现在还未曾看到它们的唯一原因就是,Python 在其它太多的方面表现出色,通常
- 本文实例讲述了php实现的三个常用加密解密功能函数。分享给大家供大家参考,具体如下:算法一://加密函数function lock_url(
- TensorFlow 2.0测试版在今年春季发布,新版本比1.x版本在易用性上有了很大的提升。但是由于2.0发布还没有多久,现在大部分论文的
- 前一段时间完成了一个数据可视化项目,由后台NodeJS+Highcharts框架进行搭建。下面分享一下整个开发过程的流程,以及使用Highc
- 这是17年的第一篇博文,话说这天又是产品同学跑过来问我说:hi,lenny,你看现在市面上流行各种装逼H5,随便输入点名字啥的就给我生成房产
- 最简单的CGO程序//cgo.gopackage mainimport "C"func main(){ &nb
- 更多的信息,可以参考python内部的json文档: python>>> help(json) 或者官方文档: http:
- mysqladmin 工具的使用格式:mysqladmin [option] command [command option] comman
- 判断字符串是否为空var strings = ''; if (string.length == 0) { alert(
- 本文实例为大家分享了python封装对象实现时间效果的具体代码,供大家参考,具体内容如下# 钟表import timeclass Clock
- 1、创建表 createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键
- 今天和某朋友聊天,谈到他们公司的一个小问题。如下:表A设备表,存储MAC地址,省份,城市,区。表B软件表,存储MAC地址,软件名字。功能是可
- QSS介绍前言QSS即Qt样式表,是用来自定义控件外观的一种机制,QSS大量参考了Css的内容,但QSS的功能要比Css弱得多,体现在选择器
- 连接数据库链接数据库需要提供一个地址和接口即可。首先还是要导入包。from pymongo import MongoClientconn =
- 如图:Oracle 11g安装到42%挂了。上度娘查了一下,原来是Oracle安装包的问题,1,2两个包都要下载下来,而且需要解压到相同(同
- 我在网上查找了下接口测试相关的资料,大都重点是以数据驱动的形式,将用例维护在文本或表格中,而没有说明怎么样去生成想要的用例,问题:测试接口时