#python #tkinter
#python #tkinter
Вопрос:
Я запускаю скрипт отсюда:
from tkinter import *
defshowval(): print (sli1.get())
parent = Tk()
parent.geometry("500x500")
sli1 = Scale(parent, from_=10, to=100, tickinterval=10, orient=HORIZONTAL, bg = "RED")
sli1.place(relx=0.15,rely=0.06,relwidth=10)
sli1.pack()
Button(parent, text='click me !!', command=showval).pack()
mainloop()
используется Python 3.7.6 на Spyder, а tk — версия 8.6.
Сценарий дает мне это:
SyntaxError: illegal target for annotation
Не понимая этой ошибки, я попытался изменить серверную часть — Tkinter, Qt4, Qt5 и каждый раз перезапускать консоль.
Комментарии:
1. Какое отношение заголовок имеет к вопросу? В заголовке упоминается одна ошибка, в вопросе упоминается другая, и ни один из них не генерируется опубликованным вами кодом.
2.
defshowval(): print (sli1.get())
должно бытьdef showval(): print(sli1.get())
. Также вызовplace()
andpack()
вместе бессмыслен, так какpack()
переопределяетplace()
эффект. Код не будет выдаватьAttributeError
упомянутое в вопросе.3. @BryanOakley Я скопировал неправильную ошибку. Исправлено сейчас.
Ответ №1:
Исключение вызвано строкой:
defshowval(): print (sli1.get())
Это должно быть:
def showval():
print(sli1.get())
Также вызов place()
и pack()
включение sli1
бессмысленны, поскольку более поздний переопределит предыдущий. Выберите любой из них.