Python 有没有办法阻止tkinter入口循环?
我创建了一个whilefor循环,它应该检查条目中是否有2、3或4。当我在没有tkinter输入框的情况下尝试循环时,它循环并根据需要停止。当我把它和tkinter条目合并在一起时,它会无休止地循环。我对PythonTkinter还很陌生,正在尝试建立一个工作系统 已经在没有tkinter条目的情况下尝试了循环。我已经研究了好几个小时了Python 有没有办法阻止tkinter入口循环?,python,loops,tkinter,conditional-statements,Python,Loops,Tkinter,Conditional Statements,我创建了一个whilefor循环,它应该检查条目中是否有2、3或4。当我在没有tkinter输入框的情况下尝试循环时,它循环并根据需要停止。当我把它和tkinter条目合并在一起时,它会无休止地循环。我对PythonTkinter还很陌生,正在尝试建立一个工作系统 已经在没有tkinter条目的情况下尝试了循环。我已经研究了好几个小时了 from tkinter import * def sentence(): global text text = musicEntry.get
from tkinter import *
def sentence():
global text
text = musicEntry.get()
musicEntry.delete(0,END)
countIt = 0
while countIt == 0:
for line in text:
if line in "2" or line in "3" or line in "4":
countIt = 1
messagebox.showinfo("All is well. Please press the SUBMIT button to continue")
break
else:
print("This doesn't work")
def checkPass():
global musicEntry
enterText = Tk()
enterText.title ("Welcome to music chooser")
Label(enterText, text = "Please enter the music text", bg="black", fg="white", font="none 12 bold") .grid(row=7, column = 0, sticky=W)
#Create a text entry box for music level
musicEntry = Entry(enterText, width=75, bg="white")
musicEntry.grid(row=8, column=0, sticky=W)
validateButton = Button(enterText, text="Validate", width=6, command=sentence) .grid(row=9, column=0, sticky=W)
checkPass()
我希望在执行else时,验证能够捕获缺失的2、3或4,这样我就可以为用户创建一个messagebox。
中的行对于行的两个可能值是正确的:“
和“2”
。唯一可以同时出现在“2”
中的,“3”
中的,以及“4”
中的的值是空字符串。你可能想在第
行中使用“2”。扔掉你的循环,如果文本和'234'中的文本是:
我两种方法都试过了。更改2行、3行和4行会得到相同的结果-连续输出“这不起作用”。然后,我尝试了if文本和'234'中的文本,这将为正确和不正确的输入提供连续输出。我已经解决了这个问题。我没有在else语句中终止循环。