- [Tim] Muy bien, as que sigue adelante.
As que estamos en la etapa ahora
donde vamos a comenzar a poblar la lista de
canciones cuando hagamos clic en un lbum.
Entonces realmente es ms de lo mismo.
Ahora realmente no queremos
para hacer lo que estoy a punto de hacer
obtenga canciones de subrayado, digamos y vincule eso
al ListBox del lbum.
El camino largo es cree otra funcin,
Y el enfoque que tendremos tomar
en el siguiente video es subclasificar nuestra
clase ScrollBox y obtener los ListBoxes para poblarse
A veces tienes que Comience a duplicar el
cdigo antes de detectar que hay duplicacin.
para que podamos ver cul es el cdigo
comn y cmo podemos evitarlo en ltima instancia.
As que voy a conseguir esta lista de canciones funciona
Ahora get_songs va a ser muy similar a get_albums,
voy a agregarlo solo debajo de la funcin get_albums.
Y dejar dos lneas en
blanco es normal entre las funciones all o los mtodos.
Def get_songs (evento): lb =
evento. actualizacin o
actualizar eso un poco ms tarde.
widget ahora queremos hacer un ndice
index = int (lb) Vamos a cerrar la
(lb. curselection () entonces queremos el
corchete cero y un parntesis a
la derecha album_name
= lb. getindex o el
ndice de parntesis, debera decir,
luego esa coma de suma importancia al final.
Y luego vamos a obtener la identificacin del artista
desde la fila de la base de datos.
As que # obtener la identificacin del artista desde la fila de
la base de datos y cuando lo hacemos al
escribir album_id = conn. ejecutar parntesis
y luego comillas dobles,
SELECCIONAR lbumes. lbumes donde
lbumes.
_id FROM nombre es
igual a pregunta mark, end of comilla
de comillas dobles, espacio, nombre
de lbum, terminar los parntesis y luego dibujar fetchone
() y hacer una llamada a ese mtodo.
Y alist = []
y queremos seleccionar el cancin, as que vamos a hacer para
x in conn. SELECCIONAR canciones.
ejecutar y la lnea de cdigo SQL con
comillas dobles ttulo
FROM songs
WHERE canciones. album =?
Y ORDEN POR canciones. track "",
comillas dobles, coma, espacio
y album_id):
y alist. cdigo songLV.
append (x) [0]) luego
finaliza el parntesis, luego
la ltima lnea
de get_albums
(tuple (alist)) As que realmente
aparte de la nombres de columnas y tablas este
cdigo es bastante idntico
a la funcin get_albums.
establecido He visto esto en el mtodo
As que solo tenemos que vincular
la funcin ahora al evento seleccionado lbum ListBox y
la lista de canciones esperemos que se actualice cuando
hagamos clic en un nuevo lbum.
iremos a nuestros lbumes ListBox y despus
de la frontera de configuracin = 2 vamos a
escribir albumList.
Entonces bind
('<< comillas simples,
menor que, menor que y ser
ListboxSelect >>',
una vez ms que
signo, mayor que signo, comilla simple, get_songs)
para llamar
a ese mtodo.
Una vez ms, no
hay parntesis all despus de los get_songs.
Entonces, si ejecutamos esto, deberamos
ver que las canciones se actualizarn cuando
seleccionemos un lbum.
en AC DC For Those About to Rock Y ahora
puede ver el las canciones ahora
se muestran aqu en el lado derecho.
As que hagamos clic
Tan excelente
Lo conseguimos para trabajar.
Pero hay un poco de un problema aqu
todava, por lo que
seleccionamos otro lbum, como por ejemplo Axel Rudi Pell
selecciona uno de los lbumes para mostrar.
del lbum Axel Rudi Pell todava se muestran.
Est bien, pero si ahora selecciona
un artista diferente, las canciones
As que ven aqu, no
han sido reseteados en otras
palabras, hasta que realmente seleccionamos un lbum diferente para
ese artista en particular.
Entonces realmente necesitamos restablecer la lista de
canciones cada vez que el artista cambie.
Entonces sigamos y hagamos eso.
Y eso es bastante fcil de hacer.
Y se hace aqu abajo, o aqu arriba
debera decir, en el mtodo get_albums.
Entonces lo inicializamos
all, entonces ponemos songLV. set (("Elegir un lbum",))
as que intentemos ejecutarlo de nuevo.
Entonces haremos lo mismo ahora.
Simplemente elegiremos Axel Rudi Pell para
elegir un lbum
que funcione bien.
Y si volvemos a decir a
AC DC, podemos ver que las canciones se actualizan correctamente,
o el mensaje, por defecto mensaje, ahora se muestra en
la lista de canciones
y la seleccin anterior, o la lista
de canciones, se ha borrado.
As que, bsicamente, la lista
de canciones ahora se borra
cada vez que se selecciona un nuevo artista y eso es
bastante importante porque tiene un ligero impacto en nuestra subclase.
Pero ya veremos
eso en el prximo video.