Мой вопрос относится к этому видео:
В 3:46 она запускает код корневого виджета:
from tkinter import ttk
root = tk.Tk()
root.mainloop()
Никаких проблем, у меня тоже самое.
Однако в 5:37, когда она запускает код виджета для отображения темы «Лес», я получаю это сообщение об ошибке.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style(root)
root.tk.call("source", "forest-light.tcl")
root.tk.call("source", "forest-dark.tcl")
style.theme_use("forest-dark")
root.mainloop()
Traceback (most recent call last):
File "address to filename", line 8, in <module>
root.tk.call('source', 'forest-light.tcl')
_tkinter.TclError: invalid command name "<!DOCTYPE"
Я попробовал включить звездочку в первую строку импорта, так как думал, что это проблема версии. Без изменений
Я даже попытался повторно загрузить файлы tcl со указанной страницы GitHub, так как думал, что проблема может быть в файлах. Нет прогресса
Я новичок в использовании Python 3.12. Заранее спасибо за ваш совет.
Похоже, в этом файле «Tcl» HTML. Или XML, но, вероятно, HTML.
@DonalFellows TheLizzard Похоже, что с файлом проблема. Спасибо
Вы пытаетесь получить файл, который, как ожидается, будет кодом Tcl, но вместо этого первая строка файла начинается с <!DOCTYPE
. Это означает, что это не код tcl. Вместо этого это файл HTML или XML. Вероятно, вы неправильно загрузили Forest-light.tcl и/или Forest-dark.tcl.
Это исходная страница github.com/rdbende/Forest-ttk-theme . По крайней мере, теперь я знаю, в чем проблема. Спасибо
на github нажмите кнопку Raw, затем сохраните как (удалите часть .txt)
Вы проверили правильность содержимого
forest-light.tcl
? Это должен быть файлtcl
, но ошибка ("<!DOCTYPE"
) предполагает, что это не кодtcl
.