root = Tk()
root.geometry("500x300")
root.title("Welcome to the vowel checker. - Logged in as: " + displayedtitle)
userWord = Entry(root, width= 50)
userWord.pack()
def vwlchck():
letter = str
for letter in userWord:
if letter == 'A':
continue
elif letter == 'E':
continue
elif letter == 'I':
continue
elif letter == 'O':
continue
elif letter == 'U':
continue
else:
vowllabel = Label(root, text=letter.get())
vowllabel.pack()
thebutton = Button(root, text="Check Vowl", command=vwlchck)
thebutton.pack()
root.mainloop()
В основном я пытаюсь создать графический интерфейс tkinter, чтобы запросить у пользователя его имя пользователя (необходимое для других частей проекта), а затем попросить его написать что-нибудь в поле, а затем использовать цикл for для проверки букв, которые являются гласными , затем он отображает гласные в виде метки. Итак, в приведенном выше коде я продолжаю получать код ошибки, когда пытаюсь нажать кнопку «Проверить Vowl»:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Omar\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "c:\Users\Omar\Desktop\python course\testing.py", line 25, in vwlchck
for letter in userWord:
File "C:\Users\Omar\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1652, in cget
return self.tk.call(self._w, 'cget', '-' + key)
TypeError: can only concatenate str (not "int") to str
Я получаю эту ошибку только при попытке реализовать контрольную гласную в tkinter GUI, когда я использую обычную печать в консоли, он работает нормально...
Чтобы получить текущее значение
userWord
, используйтеfor letter in userWord.get():
.Я пытался найти дубликат для этого вопроса, но все, что я мог найти, касалось того, что спрашивающий уже мог выполнить эту часть и имел более сложную проблему. Что произошло, когда вы попытались следовать учебнику tkinter?