Un widget cruciale che può essere visto in diversi programmi è ComboBox. All'utente viene fornito un elenco di alternative tra cui scegliere. Ha diversi valori e ne mostra solo uno alla volta. Il tutorial di oggi tratterà come utilizzare ComboBox in Linux usando Tkinter.
Esempio 1:
Iniziamo con il primo esempio del modulo Tkinter in Python. Creiamo un nuovo file Python con estensione 'py' tramite la console del terminale. Successivamente, puoi utilizzare qualsiasi editor di tua scelta per aprire il file Python appena generato da Esplora file. Iniziamo questo codice Python con l'importazione della libreria Tkinter nel codice insieme a tutti i suoi sottooggetti, classi ed entità integrate.
Importiamo il suo oggetto ttk da utilizzare nel codice. Per prima cosa, chiamiamo la funzione Tk() di Tkinter per aggiungere un nuovo valore per l'oggetto “t”. L'oggetto “t” viene utilizzato per richiamare la funzione di geometria per creare un'interfaccia utente grafica di “200×150”. In questo primo esempio, utilizziamo il metodo 'frame()' di Tkinter per creare un frame GUI sullo schermo della console. L'oggetto “f” del frame viene qui chiuso usando la funzione Tkinter pack().
Successivamente, creiamo un elenco 'l' di tipi di stringa contenente un totale di 5 valori di stringa. Successivamente, utilizziamo l'oggetto Tkinter ttk per chiamare la funzione ComboBox di Tkinter all'interno del frame 'f'. L'elenco 'l' gli viene passato. Questa ComboBox viene salvata nella variabile “C”. Impostiamo l'etichetta per il ComboBox utilizzando la funzione 'set' e imballiamo il ComboBox con imbottiture esatte. Ora eseguiamo la funzione mainloop() per eseguire il programma Tkinter generale.
Dopo aver completato lo script Python, salviamo il codice con Ctrl+S e torniamo alla console della shell del sistema Linux. Proviamo l'istruzione Python3 nella shell seguita dal nome di un file Python per eseguire il file come mostrato di seguito:
$ python3 test.py
Dopo l'esecuzione della query, otteniamo la seguente GUI di Tkinter sullo schermo della nostra console con il titolo 'tk'. La schermata della GUI contiene un comboBox, ovvero un elenco a discesa, con il titolo 'Scegli 1 colore' e un triangolo per aprirlo.
Dopo aver toccato il segno del triangolo, viene visualizzato il lungo elenco a discesa con tutte le opzioni disponibili. Puoi vedere che abbiamo un totale di 5 opzioni disponibili tra cui scegliere.
Diciamo che scegli il colore 'Nero' dall'elenco a discesa. Vedrai che il colore selezionato viene mostrato nell'area del titolo di un ComboBox a discesa. L'elenco rimanente è nascosto.
Esempio 2:
Diamo un'occhiata a un altro esempio usando un metodo diverso per creare un ComboBox nel Tkinter questa volta. Quindi, iniziamo questo codice Python con l'importazione del modulo Tkinter nello stesso file Python di 'tk' insieme all'importazione della sua classe ttk. Successivamente, importiamo la funzione showinfo() dalla classe message box del modulo Tkinter. Inoltre, importiamo la variabile month_name dal modulo calendario di Python.
Chiamiamo la funzione tk() con l'oggetto tk del modulo Tkinter e salviamo il risultato del costruttore nella variabile “t”. La funzione geometrica viene chiamata con parametri specificati per creare una GUI di Tkinter con una dimensione specifica. La funzione title() viene chiamata con un parametro “Combobox Illustration” per intitolare la GUI di Tkinter e la funzione Label dalla classe ttk per creare un'etichetta “l”. La funzione pack serve per riempire l'etichetta “l”. La variabile “mn” viene creata con la funzione StringVar() della classe “tk”. Il ComboBox “mcb” viene creato utilizzando la funzione ComboBox e il testo variabile “mn”. Il ComboBox mcb viene riempito con valori di stringa fino a 13 tramite la variabile month_name utilizzata all'interno del ciclo 'for'.
Lo stato per il ComboBox 'mcb' è impostato su sola lettura ed è compresso. La funzione select() viene creata per chiamare la funzione showinfo() per creare una finestra di dialogo di avviso con il titolo 'Conferma' e un messaggio 'Hai scelto {qualunque sia il valore}. La funzione bind() viene chiamata con il ComboBox “mcb” aggiungendo i parametri “ComboboxSelected” e la funzione “change”. La funzione mainloop() viene eseguita per eseguire il ciclo del programma Tkinter. Salviamolo prima di correre.
Eseguiamo questo file usando la query python3.
$ pitone 3 test.py
La seguente schermata di Tkinter denominata 'Illustrazione ComboBox' viene visualizzata di seguito:
Quando facciamo clic sul triangolo ComboBox sotto il titolo 'Scegli un mese', mostra i nomi di un mese.
Quando scegliamo 'Luglio', viene visualizzato sull'etichetta e viene visualizzato un avviso di dialogo e un messaggio. Premi Ok per continuare.
Conclusione
Si tratta di utilizzare il modulo Tkinter di Python per creare un comboBox nella finestra della GUI. Per questo, abbiamo provato due esempi semplici ma diversi di Python per raggiungere l'obiettivo usando la funzione frame() e il modo convenzionale di creare il comboBox nella GUI. Abbiamo incorporato i codici di esempio per entrambe le istanze e apportato alcune modifiche dopo l'esecuzione dei codici.