- [Tim] Va bene, eccoci ora.
Quindi siamo sul palco ora dove
inizieremo a popolare la lista dei brani
quando effettivamente clicchiamo su un album.
Quindi è davvero più o meno lo stesso.
Ora non vogliamo davvero fare ciò che sto per fare
un'altra funzione, ottieni brani di sottolineatura, diciamo e
legalo alla ListBox dell'album.
Il modo prolisso è quello di crea
E l'approccio lo faremo prendere il prossimo
video è sottoclasse la nostra classe ScrollBox
e ottenere i ListBox per popolare se stessi.
A volte devi inizia a duplicare il codice
prima di individuare la presenza di duplicati.
canzoni funziona così possiamo vedere quale sia
il codice comune e come possiamo evitarlo.
Quindi ho intenzione di ottenere questa lista di
Ora get_songs sarà molto simile a get_albums, ho
intenzione di aggiungere solo sotto la funzione get_albums.
E lasciare due righe vuote
è normale tra le funzioni lì o i metodi.
Def get_songs (evento): lb =
evento. l'aggiornamento o
fallo aggiornare più tardi.
widget ora vogliamo fare un
indice index = int (lb) Chiudiamo
(libbre. curselection () quindi vogliamo
parentesi quadra zero e parentesi
destra album_name =
lb. indice getindex
o parentesi dovrei dire,
poi quella virgola importantissima alla fine.
E poi otterremo l'ID dell'artista
dalla riga del database.
Quindi # ottieni l'ID dell'artista dalla riga del
database e quando lo facciamo digitando
album_id = conn. eseguire parentesi
e quindi doppi apici,
SELECT album. album in
cui sono presenti album.
_id Dagli il nome
è uguale alla domanda segno, fine virgola
doppia virgola, spazio, nome album,
termina le parentesi e quindi dot fetchone ()
e fai una chiamata a quel metodo.
E alist =
[] e vogliamo selezionare il canzone, quindi faremo
x per conn. SELECT canzoni.
eseguire e la riga di codice SQL
tra virgolette titolo
FROM songs
WHERE songs. album =?
E ORDINA DA canzoni. traccia "",
virgolette, virgola, spazio
e album_id):
e alist. songLV.
append (x) [0]) quindi
termina le parentesi, quindi
l'ultima riga del
codice get_albums
(tuple (alist)) Quindi, a parte
il nomi di colonne e tabelle questo codice
è praticamente identico
alla funzione get_albums.
set Ho visto questo nel metodo
Quindi dobbiamo solo associare la
funzione ora all'evento selezionato ListBox dell'album e l'elenco
delle canzoni lo farà speriamo di essere aggiornato
quando clicchiamo su un nuovo album.
andremo al nostro album ListBox e
dopo il Config border = 2 line andremo
a digitare albumList.
Quindi bind
('<< virgolette singole,
minore di, minore di e sarà
ListboxSelect >>',
nuovamente maggiore di
segno, maggiore di segno, virgoletta singola, get_songs)
per chiamare
quel metodo.
Ancora una volta non
ci sono parentesi dopo i get_songs.
Quindi, se eseguiamo questo, dovremmo
vedere che le canzoni si aggiorneranno quando
selezioniamo un album.
su AC DC per coloro che stanno per Rock E
ora puoi vedere il le canzoni
ora vengono visualizzate qui sul lato destro.
Quindi, basta fare clic
Così eccellente
L'abbiamo fatto funzionare.
Ma c'è un po 'di un problema
ancora qui, quindi selezioniamo
un altro album, come ad esempio Axel Rudi
Pell seleziona uno degli album da mostrare.
dell'album Axel Rudi Pell vengono ancora visualizzati.
Va bene, ma se ora seleziona
un artista diverso, i brani
Quindi vieni qui che non
sono stati resettati in altre
parole, fino a quando non selezioniamo effettivamente un album
diverso per quel particolare artista.
Quindi abbiamo davvero bisogno di resettare la lista
dei brani ogni volta che l'artista cambia.
Quindi andiamo avanti e farlo.
E questo è abbastanza facile da fare.
Ed è finito qui, o qui
dovrei dire, nel metodo get_albums.
Quindi inizializziamo
lì, quindi inseriamo songLV. set (("Scegli un album",))
quindi proviamo a eseguirlo di nuovo.
Quindi faremo la stessa cosa ora.
Sceglieremo Axel Rudi Pell per scegliere
un album che
funzioni bene.
E se torniamo a dire ad
AC DC, possiamo vedere i brani aggiornati correttamente, o
il messaggio, predefinito messaggio, viene ora visualizzato nell'elenco delle
canzoni e nella
selezione precedente, o elenco di canzoni,
è stato cancellato.
Quindi, in pratica, la lista dei
brani viene cancellata ogni volta
che viene selezionato un nuovo artista e questo è effettivamente molto
importante perché ha un leggero effetto impatto sulla nostra sottoclasse.
Ma vedremo circa quello nel prossimo video.