Я получаю эту ошибку от tkinter.Text()
:
>>> import tkinter
>>> tkinter.Text()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/tkinter/__init__.py", line 3095, in __init__
Widget.__init__(self, master, 'text', cnf, kw)
File "/usr/lib/python3.6/tkinter/__init__.py", line 2293, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: expected integer but got "sans"
или даже tkinter._test()
:
>>> tkinter._test()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/tkinter/__init__.py", line 3985, in _test
label = Label(root, text=text)
File "/usr/lib/python3.6/tkinter/__init__.py", line 2760, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "/usr/lib/python3.6/tkinter/__init__.py", line 2293, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: expected integer but got "sans"
Сообщение довольно понятно, но я не знаю с чего начать.
EDIT: Я получил эту ошибку, когда попытался использовать matplotlib.pyplot.plot()
. Но это сработало (без ошибок) для matplotlib
. Я не нашел аналогичного способа работы с tkinter
.
Я не получаю никаких ошибок с тем же кодом, поэтому я не могу его отладить. Итак, я думаю, вы должны попробовать следующее:
from tkinter import *
root=Tk()
log = Text(root, state='disabled', width=80, height=24, wrap='none')
log.grid()
root.mainloop()
Если он не работает, и другие виджеты, такие как кнопки и записи, не работают, то что-то не так с установленным tkinter. Итак, попробуйте unistall и затем переустановите tkinter:
sudo apt-get remove python3-tk
sudo apt-get install python3-tk
Если приведенное выше дает ошибку, используйте эту ссылку, чтобы проверить свою версию Linux, как это сделать (см. Также комментарии): Установите tkinter для Python
Попробуйте и дайте мне знать, если это поможет.