- [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 más 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 función,
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
código antes de detectar que hay duplicación.
para que podamos ver cuál es el código
común y cómo 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 función get_albums.
Y dejar dos líneas en
blanco es normal entre las funciones allí o los métodos.
Def get_songs (evento): lb =
evento. actualización o
actualizar eso un poco más tarde.
widget ahora queremos hacer un índice
index = int (lb) Vamos a cerrar la
(lb. curselection () entonces queremos el
corchete cero y un paréntesis a
la derecha album_name
= lb. getindex o el
índice de paréntesis, debería decir,
luego esa coma de suma importancia al final.
Y luego vamos a obtener la identificación del artista
desde la fila de la base de datos.
Así que # obtener la identificación del artista desde la fila de
la base de datos y cuando lo hacemos al
escribir album_id = conn. ejecutar paréntesis
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 paréntesis y luego dibujar fetchone
() y hacer una llamada a ese método.
Y alist = []
y queremos seleccionar el canción, así que vamos a hacer para
x in conn. SELECCIONAR canciones.
ejecutar y la línea de código SQL con
comillas dobles título
FROM songs
WHERE canciones. album =?
Y ORDEN POR canciones. track "",
comillas dobles, coma, espacio
y album_id):
y alist. código songLV.
append (x) [0]) luego
finaliza el paréntesis, luego
la última línea
de get_albums
(tuple (alist)) Así que realmente
aparte de la nombres de columnas y tablas este
código es bastante idéntico
a la función get_albums.
establecido He visto esto en el método
Así que solo tenemos que vincular
la función 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 después
de la frontera de configuración = 2 vamos a
escribir albumList.
Entonces bind
('<< comillas simples,
menor que, menor que y será
ListboxSelect >>',
una vez más que
signo, mayor que signo, comilla simple, get_songs)
para llamar
a ese método.
Una vez más, no
hay paréntesis allí después de los get_songs.
Entonces, si ejecutamos esto, deberíamos
ver que las canciones se actualizarán 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í
todavía, por lo que
seleccionamos otro álbum, como por ejemplo Axel Rudi Pell
selecciona uno de los álbumes para mostrar.
del álbum Axel Rudi Pell todavía 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 fácil de hacer.
Y se hace aquí abajo, o aquí arriba
debería decir, en el método 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 selección anterior, o la lista
de canciones, se ha borrado.
Así que, básicamente, 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 próximo video.