0

フレームとパネルを備え、ここに示すチュートリアルを使用して音楽を再生する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

プレイリスト内の任意のトラックをクリックすると、曲のパス全体を取得できます。この曲を既存の音楽プレーヤーに送信して再生する方法を考えていました。または、このアプローチは間違っており、プレイリストに対応するためのより良いアプローチはありますか?

4

1 に答える 1

2

このアプローチは、自分の mp3 プレーヤーを強化する方法を考えていたときに考えていた方法にかなり近いものです。クラス間で情報を渡すには、pubsub が最も洗練されたソリューションだと思います。この件に関する私のチュートリアルを読むか、wxPython wiki でそれについて読むことができます。

于 2013-03-14T13:42:14.680 に答える