Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8040
  • 博文数量: 4
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-14 09:37
文章分类
文章存档

2008年(4)

我的朋友
最近访客

分类: Python/Ruby

2008-05-14 16:12:38

       最近在写一个小程序用来显示在audacious中播放的音乐的歌词,暂取名为pyLyric。由于audacious并未提供python的编程借口,所以不太可能将其写成插件形式,因此只能写成一个独立的程序了。目前已完成的部分可以正常显示歌词,并能实时获取播放器的信息(这是靠audacious-announcer实现的)。接下来要做得是GUI以及歌词下载功能。GUI方面打算用wxpython。之前曾学过一段时间,可以始乱终弃,半途而废,现在基本上不记得什么了,惭愧。。。今日重出江湖,但愿能成就一番“事业”。兹定于今日起,每日研读相关书籍,记录只言片语,小思微议,积少成多,功利必定日益相增,鸿图大志可图矣!

GUI的一些基本概念是不消说了,从前终日混迹在Windows之中,什么窗口,事件驱动等,其大意也早已明白了七八成。其中一點值得注意的是在wxpython中,我们所看见的“窗口”叫做Frame,而任何可见的对象被称做Windows,也叫Widget。

import wx

"""A simple wxPython program"""

class App(wx.App):
    define OnInit(self):
        frame=wx.frame(parent=None,title='Bare')
        frame.Show()
        return True
if __name__=='__main__':
    app=App()
    app.MainLoop()

以上这段代码是一个最基本的wxpython程序的,仅仅显示一个空白的窗口。但麻雀虽小,五脏俱全。这也是最基本的wxpython的框架。wxpthon中所有方法的都是采用大写字母开头,比如:MainLoop, App。

在wxpython中鼓励采用上面的import,而不是from wxPython.wx import *。另外,在导入任何其他wxpython的package前,最好先导入wx。因为wx会做一些初始化的工作,一些其他的subpackage可能需要这些初始化的信息。虽然在python中,导入package的顺序是没有限制的。

OnInit()方法会被父类wx.App调用,从而完成初始化工作。

当一个模块(module)首句是字符串的话,那么它将会作为该模块的简短说明而放入 __doc__中。

    今日事今日毕。明日继续深入学习wxPython!!!
阅读(662) | 评论(0) | 转发(0) |
0

上一篇:盘古开天地

下一篇:强大的__builtin__

给主人留下些什么吧!~~