Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python通过wxPython打开一个音频文件并播放的代码

python通过wxPython打开一个音频文件并播放的代码

原创
作者头像
大师级码师
修改于 2021-10-27 07:48:10
修改于 2021-10-27 07:48:10
84300
代码可运行
举报
文章被收录于专栏:大师级码师大师级码师
运行总次数:0
代码可运行

这段代码片段使用wx.lib.filebrowsebutton.FileBrowseButton控件打开一个wav文件,使用wx.Sound播放

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
''' wx_lib_filebrowsebutton_sound.py
select a sound file and play it
wx.lib.filebrowsebutton.FileBrowseButton(parent, labelText, fileMask)
(combines wx.TextCtrl and wxFileDialog widgets)
wx.Sound(fileName, isResource=False)
tested with Python27 and wxPython291  by  vegaseat  25jul2013
'''
import wx
import wx.lib.filebrowsebutton
class MyFrame(wx.Frame):
    def init(self, parent, mytitle, mysize):
        wx.Frame.init(self, parent, wx.ID_ANY, mytitle,
            size=mysize)
        self.SetBackgroundColour("green")
        panel = wx.Panel(self)

    # mask file browser to look for .wav sound files
    self.fbb = wx.lib.filebrowsebutton.FileBrowseButton(panel,
        labelText="Select a WAVE file:", fileMask="*.wav")
    self.play_button = wx.Button(panel, wx.ID_ANY, ">> Play")
    self.play_button.Bind(wx.EVT_BUTTON, self.onPlay)
    # setup the layout with sizers
    hsizer = wx.BoxSizer(wx.HORIZONTAL)
    hsizer.Add(self.fbb, 1, wx.ALIGN_CENTER_VERTICAL)
    hsizer.Add(self.play_button, 0, wx.ALIGN_CENTER_VERTICAL)
    # create a border space
    border = wx.BoxSizer(wx.VERTICAL)
    border.Add(hsizer, 0, wx.EXPAND|wx.ALL, 10)
    panel.SetSizer(border)
def onPlay(self, evt):
    filename = self.fbb.GetValue()
    self.sound = wx.Sound(filename)
    # error handling ...
    if self.sound.IsOk():
        self.sound.Play(wx.SOUND_ASYNC)
    else:
        wx.MessageBox("Missing or invalid sound file", "Error")
 
app = wx.App(0)
create a MyFrame instance and show the frame
mytitle = "wx.lib.filebrowsebutton and wx.Sound"
width = 600
height = 90
MyFrame(None, mytitle, (width, height)).Show()
app.MainLoop()</pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
wxPython中文教程入门实例「建议收藏」
这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下
全栈程序员站长
2022/08/26
2.2K0
谁说Python不适合做GUI程序?wxFormBuilder上手教程
来源:https://blog.csdn.net/caiza3491/article/details/79529966
小草AI
2019/12/23
4K0
谁说Python不适合做GUI程序?wxFormBuilder上手教程
wxpython 窗口排版- proportion/flag/border参数说明
新学习wxpython,一直纠结于窗口控件的排版,经过几天的查资料、试验,总结如下。
黯然销魂掌
2018/09/27
2.6K0
wxpython 窗口排版- proportion/flag/border参数说明
如何在wxPython GUI中使用BoxSizers实现整齐布局
在 wxPython 中,BoxSizer 是一种常用的布局管理器,可以用来将窗口控件垂直或水平排列,从而实现整齐的布局。BoxSizer 分为 wx.BoxSizer(wx.HORIZONTAL) 和 wx.BoxSizer(wx.VERTICAL) 两种,分别用于水平和垂直布局。
华科云商小徐
2024/08/06
3090
Python GUI界面编程
Downloading https://files.pythonhosted.org/packages/34/41/e0e109a72966f596a5b93123d94eaabd53509ef6766fa3321b4bfadbbb14/wxPython-4.0.3-cp37-cp37m-win_amd64.whl (22.7MB)
用户7886150
2020/11/27
1.5K0
python写的监控mysql主从的ap
[global] user = cmVwbsdfsdfA== passwd = SGMxNzVBcEdEZ0ZRTGsfdfV6aA== time = 10 iplist = 192.168.8.11,烟雨江南;192.168.8.12,开天辟地; #说明:用户名和密码#base64.encodestring(),base64.decodestring()加密和解密,time为设置的超时时间(单位为秒),iplist为IP和名字列表
py3study
2020/01/08
8270
wxpython自定义控件_wxPython 教程(十三) 自定义控件
本节讲述 wxPython 自定义控件 。GUI Toolkits 会提供多数常用的部件,比如按钮、文本控件、滚动条、滑块等等。wxPython 也会提供很多控件,但若需要更定制化的控件还是需要开发者自己编写。
全栈程序员站长
2022/08/26
1.6K0
python编写的串口程序
最近导师给了个GSM模块,需要通过RS232串口发送AT指令来对模块进行控制,于是看了看python的GUI设计和串口部分的资料,自己编写了一个串口发送的小程序,虽然有不少的bug,但是总体上还是能用的,先把程序留在这,以便后续修改。
py3study
2020/01/08
1.7K0
python之图形界面
在编写python GUI程序前,需要决定使用哪个GUI平台。wxpython----跨平台pythonGUI工具包
py3study
2020/01/07
2.5K0
wxPython入门中文版 (Getting Started with wxPython)
本文翻译自http://wiki.wxpython.org/Getting%20Started 首先声明:本人还是个菜鸟,翻译只是为了学习,就当作记笔记了。水平有限,错误和疏漏在所难免,希望各路高手能够给予指导。而且简单查了一下,好像中文世界目前还没有完整的翻译 Getting Started with wxPython 的。
全栈程序员站长
2022/08/31
5.8K0
wxPython入门中文版 (Getting Started with wxPython)
wxPython:Python首选的GUI库 | CSDN博文精选
跨平台的GUI工具库,较为有名的当属GTK+、Qt 和 wxWidgets 了。GTK+是C实现的,由于C语言本身不支持OOP,因而GTK+上手相当困难,写起来也较为复杂艰涩。Qt 和 wxWidgets 则是C++实现的,各自拥有庞大的用户群体。虽然我喜欢wxWidgets,但还是尽可能客观地搜集了关于Qt 和 wxWidgets 的对比评价。
AI科技大本营
2019/11/12
3.1K0
Python GUI 库跨平台兼容问题及解决方案
在选择 Python GUI 库时,跨平台兼容性是一个重要的考虑因素。不同的 GUI 库可能在不同的操作系统上表现不同,因此需要选择一个能够在多个平台上运行良好的库。如果我们遇到下面的问题,可以尝试下我整理的方法。
华科云商小徐
2024/06/11
3850
多线程GUI界面文件复制程序的解决方案
在Python中,你可以使用多线程来编写一个GUI界面的文件复制程序。这样可以使得文件复制过程在后台进行,而不会阻塞用户界面,提升用户体验。下面是一个使用Python的Tkinter库和多线程实现的文件复制程序的示例:
华科云商小徐
2024/04/10
1510
用wxPython打造Python图形界面
当你为小部件的位置提供精确的坐标时,使用的技术称为绝对定位。大多数GUI工具包都提供了这种功能,但实际上并不推荐使用这种功能。
AiTechYun
2019/05/13
2.4K0
Wxpython快速构建GUI窗口程序
最近学习了一下关于用wxpython来构建窗口GUI程序,关于wxFormbuilder和wxpython的用法,理解的还不是很透彻,强行此文。因此本文适合新人,请大牛们多多指教,谢谢
叉叉敌
2019/02/20
1.9K0
在另一个进程正在进行时如何显示加载进度条?
在 Tkinter 中,如果你希望在另一个进程(例如在后台运行的任务)正在进行时显示加载进度条,可以使用 ttk.Progressbar 组件来显示进度条,并通过使用 多线程 来避免界面冻结。
华科云商小徐
2025/02/11
2170
七日Python之路--第三天(之不安分 wxPython)
Python有好多个GUI框架,wxPython比较流行,so just do it..... Win下各种不爽,又换Ubuntu
lpe234
2020/07/27
6100
python 实训总结Ⅱ
举了一个金融界,炒股,获取数据的爬虫 (今天没仔细听课,这数据爬过什么意思,咱不懂,咱也不敢问!)
Cell
2022/02/25
1.2K0
python 实训总结Ⅱ
如何使用wxPython构建一个GUI应用程序
wxPython是Python语言的一套优秀的GUI图形库。我们可以使用Python程序很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。
TalkPython
2019/05/24
2.8K1
实战|教你用Python制作一款带有界面的NBA爬虫小程序
有时将代码转成带有界面的程序,会极大的方便使用,虽然在网上有很多现成的GUI系统,但是套用别人的代码,心里难免有些尴尬,所以本文将用Python爬虫结合wxpython模块构造一个NBA爬虫小软件,演示效果如下
刘早起
2020/11/16
1.1K0
实战|教你用Python制作一款带有界面的NBA爬虫小程序
相关推荐
wxPython中文教程入门实例「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档