Dodałem do mojego kodu widżet OptionMenu
i przypisałem listę jako jej opcje. Oto, jak to jest:Menu opcji nie pokaże pierwszej opcji po kliknięciu (Tkinter).
z = StringVar()
z.set(userList[0])
usersOption = OptionMenu(frame1, z, *userList)#, command=changeUser)
usersOption.pack(side=RIGHT, padx=3)
Teraz sądzę, że pokaże wszystkie opcje na tej liście. Jak tak:
Option 1 \/ <-- the box with the selected option
Option 1 }\__the options that show on click
Option 2 }/
ale faktycznie tylko pokazuje drugą opcję, a gdy wybiorę się tam jest, w zasadzie, nie ma drogi powrotnej, jeśli kliknę pole ponownie utrzymuje pokazując tylko opcję 2 i nie mogę zmień go nawet za pomocą klawiszy góra/dół. Próbowałem szukać rozwiązań, ale nigdzie się nie dostałem, więc zaczynam myśleć, że jest to domyślny sposób działania widżetu, ale nie znalazłem nic, co by mi pokazało, jak rozwiązać to w dokumentacji, którą czytałem.
P.S .: Używam Python 3.3
jest "z" instancją Tkinter 'StringVar'? Czy jesteś absolutnie pewien, że 'userlist' ma wartość, którą uważasz, że ma? –
tak, jest i tak, robi. Lista jest tworzona z linii pliku txt bez łamania linii '\ n' (dla tego używam .strip()). Ten plik tekstowy ma obecnie dwie linie: "Użytkownik 1" i "Użytkownik 2". I jest ustawiony na userList [0]. (Edytuję tekst, aby to dodać) – AugustoQ