2013-03-14 103 views
0

我已经创建了一个简单的音乐播放器,使用wxPython,它有一个Frame和一个Panel,并使用给定的教程here播放音乐。从播放列表中播放音乐 - wxPython

此外我还为此添加了一个播放列表功能,它使用ObjectListView并显示.m3u文件中的所有曲目。 该播放列表是一个单独的Python模块,它

class MainPanel(wx.Panel): 

def __init__(self, parent, playListSelected): 
    //stuff 

def GetOLVColClicked(self, event): 
    item = event.GetEventObject().GetSelectedObjects() 
    print item[0]['path'] 

class MainFrame(wx.Frame): 
    def __init__(self, playList): 
     wx.Frame.__init__(self, parent=None, id=wx.ID_ANY, 
         title="ObjectListView Demo", size=(800,600)) 
     panel = MainPanel(self, playList) 

class GenApp(wx.App): 
    def __init__(self, playList, redirect=False, filename=None): 
     self.playList = playList 
     wx.App.__init__(self, redirect, filename) 

    def OnInit(self): 
     frame = MainFrame(self.playList) 
     frame.Show() 
     return True 

在点击任何曲目在播放列表中我能得到这首歌的完整路径。 我想知道如何将这首歌曲发送到现有的音乐播放器并播放它。 或者这种方法是错误的,是否有更好的方法来容纳播放列表?

回答

2

这种方法非常接近我在考虑如何增强自己的MP3播放器时想回来的方式。为了在类之间传递信息,我认为pubsub是迄今为止最优雅的解决方案,即使它有点神奇。您可以在主题阅读我tutorial或者您可以在wxPython的维基读到它:

+0

好的教程@Mike – PurityLake 2013-03-14 13:48:01

+0

这是一个奇妙的图书馆和一个伟大的教程太。它解决了我的问题。谢谢@Mike。 – 2013-03-14 14:41:58