<p>这可以解决您的问题,但我认为有更安全、更好的方法:</p>
<p>顺便说一句,也许你不知道如何使用<code>variable</code>。<a href="https://effbot.org/tkinterbook/checkbutton.htm" rel="nofollow noreferrer">read some documents</a></p>
<pre><code>from tkinter import *
biomelis_ = ['Arctic', 'Hill', 'Coast', 'Desert', 'Forest', 'Grassland', 'Mountain', 'Swamp', 'Underdark', 'Underwater',
'Urban']
biomelis_variable = [] # a list to save all the variable
root = Tk()
for i in biomelis_:
exec('''
{0} = IntVar()
biomelis_variable.append({0}) # use exec()
'''.format(i))
def sel():
biome_lis_selection = []
for i in range(len(biomelis_)):
check = biomelis_variable[i].get()
if check:
biome_lis_selection.append(biomelis_[i])
# biome_lis_selection = var
return biome_lis_selection # the selected checkbutton name
for item in range(len(biomelis_)):
l = Checkbutton(root, text=biomelis_[item], variable=biomelis_variable[item])
l.pack(anchor='w')
def go(): ### runs tkinter
biomes_Checklist = sel()
b.config(state=NORMAL)
b.delete('1.0', END)
b.insert(INSERT, sel())
b.config(state=DISABLED)
## defines go button. This launches the def go() when the go button is pressed.
go_button = Button(root, text="Go!", width=10, command=go)
go_button.pack()
b = Text(root)
b.pack()
root.mainloop()
</code></pre>