Python 3.x 下拉菜单每次更改顺序并删除一个选项—Python
Python下拉菜单每次运行时都会更改顺序,每次都会删除一个选项。你怎么解决这个问题Python 3.x 下拉菜单每次更改顺序并删除一个选项—Python,python-3.x,tkinter,Python 3.x,Tkinter,Python下拉菜单每次运行时都会更改顺序,每次都会删除一个选项。你怎么解决这个问题 from tkinter import * from tkinter.ttk import * root = Tk() root.title("Menu") menu = Frame(root) menu.pack(pady = 5, padx = 50) var = StringVar(root) list = { '1', '2',
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("Menu")
menu = Frame(root)
menu.pack(pady = 5, padx = 50)
var = StringVar(root)
list = {
'1',
'2',
'3',
'4',
}
option = OptionMenu(menu, var, * list)
var.set('Select')
option.grid(row = 1, column = 1)
root.mainloop()
不要使用
集合
(无序结构)来定义选项,请使用列表
,例如:
options = [ # notice the square bracket
'1',
'2',
'3',
'4'
]
option = OptionMenu(menu, var, options[0], *options) # make sure you define a proper default
# etc.
至于删除第一个元素,这是因为您没有将第三个参数定义为设置默认值的OptionMenu
,因此您的第一个options元素被扩展到它中
另外,将变量/函数命名为与内置类型相同的名称是一个非常非常糟糕的主意(例如,在您的情况下,list
)