doc (Linux下图形界面mp3播放器的实现)(最终版) ㊣ 精品文档 值得下载

🔯 格式:DOC | ❒ 页数:24 页 | ⭐收藏:0人 | ✔ 可以修改 | @ 版权投诉 | ❤️ 我的浏览 | 上传时间:2025-11-06 14:49

习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。


本文是我多日劳动的成果,希望借本文,能为我的大学生活画上个圆满的句号。


致谢我的学位论文是在老师的指导下完成的。


老师对论文质量严格把关,多次在办公室指导修改,在此我要对韩老师丝不苟的工作态度表示十二分的敬意,韩老师在我大三下学期教我多媒体课,讲课风趣,平易近人,很受同学们尊重。


毕业论文能在韩老师的督促和指导下完成,我更提高了对自身的要求。


感谢韩老师,本程序的开发受益于自由和开源软件。


由此,我要感谢那些长期致力于推广开源软件的程序员们。


他们很多人并不靠此谋生,而是耗费了业余时间来从事这份伟大的工作。


系统编译器等大批优秀软件都归功于他们。


还要感谢中英文维基百科上相关词条和网络上相关博客的作者们,他们出色的工作大大地减轻了我组织资料的负担,向他们表示感谢,参考文献,译者尤晋元,张亚英,戚正伟,译北京人民邮电出版社,陈特放,黎丹下用和开发基于的网络聊天室长沙大学学报毛坚桓,叶茂,朱利,冯博琴环境下基于的录制回放工具的设计和实现微电子学与计算机何世勇基于的编程中国水运理论版陈亮,裴海龙,伍越基于系统的摄像头视频播放实现现代电子技术,罗贤全,尚朝轩,高勤用开发嵌入式应用程序微计算机信息测控自动化崔尚卿基于的图形用户界面的几个实现技巧计算机时代,潘影波,王健,新代播放器的设计与实现计算机技术与发展赵毅,马捷利用和的应用的快速开发计算机工程响应信号时调用预先编写好的处理函数进行处理。


程序开始执行用创建用户界面和按钮菜单等控件响应用户退出程序的要求,清理退出为按钮菜单等控件注册信号主循环,等待信号发生并处理程序的详细设计及编码程序文件的组织为了程序逻辑的清晰着想,不能把个大程序中的所有内容放到个文件里,否则,当程序增大到定程度时修改和调试将变得极为困难。


再加之前面需求分析中已经提到的,编写程序时,通常的做法是界面和后台分别编码,这样做简单且逻辑清晰。


因此可以在函数中调用绘制界面的函数,并分别注册上信号,用循环完成函数调度的工作。


但绘制界面如果全部都在函数中完成的话,程序代码会显得非常混乱,因此可以把绘制界面的工作分成很多步来完成,函数调用每步中相应的绘制函数。


当然可以把这些绘制函数跟函数都起放到文件中,但这样做的话,还是不够清晰。


不妨新建个文件,将完成图形绘制以及注册信号工作的函数集中放到里面。


接着考虑后台处理函数,很自然的,把这些函数都放到文件中。


综上所述,本程序将建立三个头文件。


由于函数之间具有相互调用关系,如果要将这三个文件结合起来,就需要用到头文件。


因而,将按照程序的需要,选择性地建立头文件,在其中放入对应的文件中非静态函数和变量的声明。


文件文件的的开始,程序先引入和工具包中所有类和函数的声明我在随后的文件中将会编写个生成图形界面的函数。


上面将其它文件中的函数导入时,使用了关键字,让程序更规范。


接着声明变量类声明了个名字为的指针变量。


由于中的函数要使用本变量,这里将其放到函数外面,使其具有全局作用域。


同时,考虑到文件中只有个函数和个全局变量,我决定不再编写头文件,如果其它文件需要使用变量的,显式的将所需变量引入即可。


下面的是函数,函数中,程序首先分别对和进行初始化,初始化会设置函数库并处理命令行参数中的和知道的参数。


由于本程序中用不到这些参数,因此,这里只是起到初始化的作用。


接着,初始化和,窗口本身是由创建的该函数是个对象构造器,它返回个指向新对象的指针。


命名约定在这里非常重要,因为中的所有对象构造器和方法都要遵循它名字的第部分是类名,这里是对于函数名来说,将它写为,以将它和类本身的数据类型区分开来,然后是方法名。


接受个参数,这个参数是个常量,它指定了要创建的窗口类型。


是个正常的应用程序窗口,它可以通过窗口管理器关闭最小化和调整大小。


调用函数随后编写的函数将生成并返回内的各个控件的集合,程序将作为个容器,把生成的图形界面加入进来,然后显示窗口。


要注意,生成的窗口和控件默认都是不显示的,程序必须调用函数来显示它应用程序采用事件驱动机制,在完成用户界面创建后进入主循环,由此接管了控制权,然后在主循环中循环地监听事件和信号的发生。


当捕获事件或信号后,则将控制权传递至所注册的信号事件处理程序进行处理,然后根据此程序选择返回或者退出应用程序。


后面将用到的函数用来结束主事件循环,即退出程序的运行。


至此,文件就结束了。


显然,它的脉络很清晰,符合需求分析中所作的程序流程图的规划。


以下就要分别对图形界面和后台进行编程了。


图形界面的结构现在程序有了个窗口变量,但是,如果没有其他构件来提供有用的用户界面,它是没有什么用处的。


中的窗口是的子类,它是种只能包含个子构件的容器对象。


这好像并不是特别有用,但还提供了各种可以容纳多个构件的子类。


因此,中的窗口布局总是在个中添加个多构件容器来构成的。


,未找到引用源。


这些容器中最有用的是和。


允许任意数量的构件垂直叠放。


的功能相同,但提供的是水平排列。


是上述两者的结合,它允许构件在个灵活的网格中进行排放。


这三种布局构件几乎提供了所有必要的布局功能。


需要注意的是,很少处理对象的绝对位置或大小容器和其中的构件将调整大小以适应可用空间。


不过可以改变这类大小调整的些约束以获得所需的效果,如果确实需要精确的像素布局,那么可作为最后的选择。


应该首先选择灵活的盒状模型布局,因为它更容易使用。


最后,播放器的最终效果如图所示图播放器的最终效果上图显示了在装载文件进行播放之前的音乐播放器窗口。


从上往下,依次是菜单栏,用于显示文件名的标签,五个控制播放的按钮,下面是显示播放经过时间的标签,最后是个在当前文件中进行搜寻的滑动条。


整个图形界面的布局如图所示图图形界面的布局以上显示的是垂直盒子及其内部控件的布局,函数返回这个垂直盒子,正如在函数中看到的那样,把这个垂直盒子放到了窗口中,整个图形界面就完成了。


按钮关于构件盒子里的个个控件的的方法,以按钮为例进行说明。


首先,先声明垂直盒子的变量其次,再创造按钮盒子变量再到按钮变量分别为它们赋值,参数的作用是调整构件在盒子中的摆放方式。


第个参数指明组装盒中的构件是否都必须具有相同的高度,个值表示构件可能根据它们的需求有不同的高度。


第二个参数指明在构件之间的以像素为单位的间距,把它设置为。


中的参数与中的类似。


函数返回个带有文字标签的按钮,本按钮上的文字是。


可是,单有标签并不能让这个按钮发出播放的命令,程序还要为它注册上信号处理函数,让它既有名又有实信号处理函数即函数。


调用本函数完成信号向的注册,每次鼠标来点击以后,会自动调用函数。


的第个参数是要发出信号的构件,第二个参数是你想要连接全部项目放到这个垂直盒子里文件名时间标签播放时间滚动条装有菜单的水平盒子文件菜单帮助菜单装有按钮的水平盒子的信号的名称,第三个参数是信号被捕获时所要调用的函数,第四个参数是你想传递给这个函数的数据。


由于不需要向函数传数据,这里忽略了第四个参数。


和都是宏,被定义为具有强制类型转换的功能。


程序把的函数放到文件中。


函数的功能调用链接插件的函数,进行文件的播放。


函数原型如下现在重新回到这个按钮上来。


程序刚刚为它添加了信号处理函数,但是,如何做到将按钮本身添加到面板上去呢这就需要逐级添加了,先把按钮添加到按钮盒里用于把组件添加到盒子里,添加组件的顺序决定了组件在盒子中的位置。


竖直盒子中,先添加的在上面,水平盒子中,先添加的在左边。


第个参数是将组件塞入盒子的指针,这里是按钮盒。


第二个参数是要塞入的组件指针,即按钮。


第三个参数是布尔类型,用来控制组件与盒子之间的空间大小关系,其中表示允许组件扩展至分配给盒子的空间大小,表示盒子空间收缩至组件的实际大小。


第四个参数是用来控制是否将多余的空间分配给组件,即选择是否将组件扩展到盒子的大小还是多余的空间不变,保留作为盒子和打包组件间的间隔,该参数只有在第三个参数取时才有效。


最后个参数是指组件四周与盒子的间隔大小。


同样的,再把按钮盒放到垂直盒里最后,全部把他们显示这样,就完成了对按钮图形界面编程方面的全过程。


对于其它的几个按钮来说,跟上面的按钮的处理相同,除了要注意下添加进按钮盒的顺序,无需赘述。


菜单本程序中有两个菜单大项和,大项中则分别含有数个小项目。


中有和,用于打开文件和退出程序。


中和,分别是帮助的内容和关于本程序的些信息。


菜单的生成较为繁琐。


这里以这个子菜单项为例介绍下先声明三个菜单项。


然后,为和两项赋值接下来,要给虚菜单项赋值注意,作为个主菜单项,和它的子菜单项都是用同个函数来赋值,那么,如何区分的特殊地位就成了问题,于是,引入了虚菜单项来容纳的子菜单项。


以下是将子菜单项放入中的方法给子菜单项配置信号处理函数,这里的信号不再是按钮的,而是,后,系统会调用函数来选择文件打开。


接下来,就是把主菜单项添加进,添加进并逐个显示,不再列出代码。


图是点击菜单项后弹出的对话框截图图对话框文件的选取与文件名的显示上文中提到,面板上的标签用于文件名的显示。


由于要被后台程序调用显示文件名,所以,程序把设置为全局变量。


在函数内部,程序对其进行赋值函数用于设置子类对象的位置,是子类的个对象指针,因此,可以对其进行设置。


函数的第二个参数代表左右对齐的方式,代表左对齐,代表右对齐。


第三个参数代表上下对齐的方式,代表靠上,代表靠下。


这样,就完成了文件名标签的创建。


上文举例的的信号处理函数是。


程序在文件中实现了指定只有当用户结束拖动时才发送信号。


程序在中实现了函数关于的意义,下文再谈。


使用个百分比数字作为其参数,它表示用户想要移动的位置离数据流的开始有多远。


这个函数也在中实现,如下所示首先,该函数将检

下一篇
(Linux下图形界面mp3播放器的实现)(最终版)第1页
1 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第2页
2 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第3页
3 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第4页
4 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第5页
5 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第6页
6 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第7页
7 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第8页
8 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第9页
9 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第10页
10 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第11页
11 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第12页
12 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第13页
13 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第14页
14 页 / 共 24
(Linux下图形界面mp3播放器的实现)(最终版)第15页
15 页 / 共 24
温馨提示

1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。

2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。

3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。

4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。

5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。

  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
筛选: 精品 DOC PPT RAR
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库
换一批