Найти - Пользователи
Полная версия: Ошибка
Начало » Python для новичков » Ошибка
1
Tosking
Пишу код
 from tkinter import *
root = Tk()
root.geometry('250x120')
root.resizable(False, False)
s1 = Scale(root, sliderlength=20, orient=HORIZONTAL, length=180)
s1.place(x=30, y=30)
def sa():
    if s1.get() == 0:
        pass
def main():
    root.mainloop()
    sa()
if __name__ == '__main__':
    main()
Выдаёт ошибку
Traceback (most recent call last):
File "C:/Users/123/PycharmProjects/untitled/delete.py", line 14, in <module>
main()
File "C:/Users/123/PycharmProjects/untitled/delete.py", line 12, in main
sa()
File "C:/Users/123i/PycharmProjects/untitled/delete.py", line 8, in sa
if s1.get() == 0:
File "C:\Users\123\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 3010, in get
value = self.tk.call(self._w, 'get')
_tkinter.TclError: invalid command name ".!scale"
Что делать?
rami
Команда root.mainloop() должна быть самой последней командой, а у вас после неё идёт sa(). Получается, когда вы закрываете главное окно, вызывается функция sa() в то время, когда главного окна уже нет. Перепишите функцию main() так:
 def main():
    sa()
    root.mainloop()
Tosking
Помогло! Спасибо!
DamMercul
можешь цикл ткинтера в отдельный поток запихнуть
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB