Tkinter combobox отображает только указанные c значения списка - PullRequest
0 голосов
/ 18 марта 2020

У меня есть python список кортежей, которые я хотел бы отобразить в выпадающем списке Tkinter.

Мне просто нужно отобразить 1-е значение каждого кортежа, а именно: 'Saint Sushi', 'Aime Sushi 'и' SoZo Sushi ', не полный набор, без успеха

liste = [('Saint Sushi', '424 Duluth'),
         ("Aime Sushi", '4108 St Denis'),
         ('SoZo Sushi', '4118 St Denis')]

import tkinter as tk
from tkinter import ttk


root = tk.Tk()
root.geometry('200x300')

def action(event):
    select = listeCombo.get()
    print ('votre selection :', select)


labelChoix = tk.Label(root, text='Choix du lieu')
labelChoix.pack()

#I tried to modify the "values= liste" below with to access liste[0] of each tuple,
#but it does not work
listeCombo = ttk.Combobox(root, values = liste)
listeCombo.current(0)
listeCombo.bind('<<ComboboxSelected>>', action)
listeCombo.pack()

root.mainloop()

1 Ответ

1 голос
/ 18 марта 2020

Просто измените values=liste на values=[x[0] for x in liste].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...