OptionMenu в Tkinter автоматически добавляет скобки в опции - PullRequest
0 голосов
/ 18 февраля 2019

Фразы в OptionMenu отображаются как "{Кусок торта}" вместо "Кусок торта".Это происходит только со строками из нескольких слов.Я удостоверился, что у строк нет тех скобок, прикрепленных, заменяя.Когда я печатаю свой список, скобки отсутствуют, но в OptionMenu они есть.Кто-нибудь знает причину почему?

from tkinter import *

root = Tk()
root.geometry('300x200')

ingredients = [('French fries', 'szt', 'D'), ('Salt', 'g', 'D'), ('Cake', 'szt', 'D'), ('Potatoes and eggs', 'g', 'D')]

chosen_ingredient = StringVar()
om_ingredients_list = OptionMenu(root, chosen_ingredient, *ingredients)
om_ingredients_list.config(width=12)
om_ingredients_list.pack(pady=10)

root.mainloop()

1 Ответ

0 голосов
/ 18 февраля 2019

Вот пример, который использует функцию форматирования для создания параметров.

from tkinter import *

root = Tk()
root.geometry('300x200')

ingredients = [('French fries', 'szt', 'D'), ('Salt', 'g', 'D'),
               ('Cake', 'szt', 'D'), ('Potatoes and eggs', 'g', 'D')]

# Extract first and second item from tuple with format function
options = ['{} ({})'.format(*item) for item in ingredients] 
chosen_ingredient = StringVar()
om_ingredients_list = OptionMenu(root, chosen_ingredient, *options)
om_ingredients_list.config(width=20)
om_ingredients_list.pack(pady=10)

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