Я пишу музыкальный плеер на питоне, с кли, использующим urwid. Я намерен иметь текущий плейлист в simpleListWalker, обернутый списком, затем столбцы, кучу и, наконец, фрейм.Изменение содержимого отображаемого в настоящее время списка в urwid/python2.6
Как заменить все содержимое этого списка (или simpleListWalker) на что-то еще?
Соответствующий код:
class mainDisplay(object):
...
def renderList(self):
songList = db.getListOfSongs()
songDictList = [item for item in songList if item['location'] in
commandSh.currentPlaylists[commandSh.plyr.currentList]]
self.currentSongWidgets = self.createList(songDictList)
self.mainListContent = urwid.SimpleListWalker([urwid.AttrMap(w, None,
'reveal focus') for w in self.currentSongWidgets])
def initFace(self):#this is the init function that creates the interface
#on startup
...
self.scanPlaylists()
self.renderList()
self.mainList = urwid.ListBox(self.mainListContent)
self.columns = urwid.Columns([self.mainList, self.secondaryList])
self.pile = urwid.Pile([self.columns,
("fixed", 1, self.statusDisplayOne),
("fixed", 1, self.statusDisplayTwo),
("fixed", 1, self.cmdShInterface)], 3)
self.topFrame = urwid.Frame(self.pile)
Полный код по адресу: http://github.com/ripdog/PyPlayer/tree/cli - Проверьте main.py для интерфейса кода.
Код находится в довольно плохом состоянии прямо сейчас, и я программировал только два месяца. Любые предложения по стилю кода, макету или любым другим советам, которые у вас могут быть, очень ценятся.
Было бы здорово иметь это в документах. – SummerBreeze