Domanda Python, collegare due combobox con un database, per far corrispondere una determinata voce del primo ad una diversa voce del secondo combobox

fisica-all

Utente Gold
13 Aprile 2014
1,289
228
311
Allora l'errore e' nell'assegnare il valore del combobox ad una variabile

Posta per favore il codice del combobox (nei tag
Codice:
 possibilmente, cosi' e' piu' leggibile)
 

antonio92x

Utente Bronze
6 Giugno 2019
69
6
34
Ultima modifica:
@fisica-all Però scrivendo così SELECT Citta FROM Info WHERE Regione= "Lazio" riferito ad una determinata regione, funziona bene. Posto l'intero codice, come scritto all'inizio del post (questo è il copia e incolla senza il rigo da te gentilmente suggerito). Ecco:

Codice:
### DATABASE CHE LEGGE LE REGIONI ###
con = sqlite3.connect('/home/miopc/Scrivania/Database_SQLLite.db')
cursor = con.cursor()
cursor.execute('SELECT DISTINCT Regione FROM Info')
elenco1 = cursor.fetchall()
con.close()

### COMBOBOX REGIONI ###
regioni=ttk.Combobox(window,width=13)
regioni.place(x=5, y=190)
regioni['values'] = elenco1
regioni.current(0)

### DATABASE CHE LEGGE LE CITTA'###
con = sqlite3.connect('/home/miopc/Scrivania/Database_SQLLite.db')
cursor = con.cursor()
cursor.execute('SELECT Citta FROM Info WHERE Regione')
elenco2 = cursor.fetchall()
con.close()

### COMBOBOX CITTA ###
citta=ttk.Combobox(window,width=13)
citta.place(x=5, y=230)
citta['values'] = elenco2
citta.current(0)
 
DOWNLOAD
Supporta Inforge con una donazione

antonio92x

Utente Bronze
6 Giugno 2019
69
6
34
Ultima modifica:
Manca il binding del combobox, ovvero una funzione chiamata quando viene selezionata una regione.
Guarda qui: https://stackoverflow.com/questions/31264522/getting-the-selected-value-from-combobox-in-tkinter
@fisica-all Ah ecco. Però non è proprio il mio caso, inoltre non avendolo mai usato il bind, puoi mostrarmi il codice per come inserirlo nel mio caso per favore? Mi permetto di chiedertelo perchè ho visto che nell'esempio che mi hai cortesemente riportato, ci capisco poco e niente. Grazie
 

fisica-all

Utente Gold
13 Aprile 2014
1,289
228
311
Puoi anche semplicemente fare una get da quello che leggo, quindi qualcosa del tipo:

cursor.execute("SELECT Citta FROM Info WHERE Regione='{0}'").format(combobox.get())

per sicurezza stampa, come consigliato prima, il valore del combobox.get() , in modo da capire se effettivamente funziona