【发布时间】:2019-05-26 18:37:46
【问题描述】:
我是这个网站(和 Python)的新手,这是我的第一篇文章,如果有不清楚的地方,我很抱歉。基本上,我试图编写一个模拟彩票的代码。为此,我使用 tkinter 和 text-entry 来填写数字。当我破坏输入窗口时出现问题,其中未保存猜测的数字。我的问题是,如何销毁我的窗口并从文本条目中获取输入?
我尝试使用 IntVar 没有成功,不确定我是否理解正确。
from tkinter import*
import random
Part1 = list(range(1,51))
Part2 = list(range(1,11))
Numbers = [0]*7
for n in range (5):
Number = random.choice(Part1)
Position = Part1.index(Number)
del Part1[Position]
Numbers[n] = Number
for i in range (2):
Number = random.choice(Part2)
Position = Part2.index(Number)
del Part2[Position]
Numbers[5+i] = Number
print (Numbers)
def master1_quit():
master1.destroy()
# def window():
master1 = Tk()
Label(master1, text="Guess numbers:").grid(row=0)
e1 = Text(master1, width=2, height=1)
e2 = Text(master1, width=2, height=1)
e3 = Text(master1, width=2, height=1)
e4 = Text(master1, width=2, height=1)
e5 = Text(master1, width=2, height=1)
e6 = Text(master1, width=2, height=1)
e7 = Text(master1, width=2, height=1)
e1.grid(row=0, column=1, padx=5)
e2.grid(row=0, column=2, padx=5)
e3.grid(row=0, column=3, padx=5)
e4.grid(row=0, column=4, padx=5)
e5.grid(row=0, column=5, padx=5)
e6.grid(row=0, column=7, padx=5)
e7.grid(row=0, column=8, padx=5)
master1.grid_columnconfigure(6, minsize=20) # Creates an empty column (nr. 6) with width 20
# Save guessed numbers
Guess = [e1.get(1.0, "end-1c"), e2.get(1.0, "end-1c"), e3.get(1.0, "end-1c"), e4.get(1.0, "end-1c"), e5.get(1.0, "end-1c"), e6.get(1.0, "end-1c"), e7.get(1.0, "end-1c")]
Button(master1, text='OK', command=master1_quit).grid(row=3, column=3, sticky=W, pady=5)
master1.mainloop()
# window()
基本上我希望在窗口被销毁后保存变量“Guess”,因为我想稍后使用它。
补充问题: 是否可以在后面的代码中写“def window()”并用“window()”调用窗口?
【问题讨论】:
标签: tkinter python-3.7