Прочтите официальную документацию по Python
Начните с прочтения официальной документации Python по tkinter по следующему адресу:
Оттуда вы узнаете, что tkinter не реализует ни один из виджетов.Скорее, это просто тонкая объектно-ориентированная оболочка вокруг встроенного интерпретатора tcl.Что бы там ни было, он ожидает, что вы узнаете некоторые детали виджетов, изучая tcl / tk.
Что означает «тонкая объектно-ориентированная оболочка»?
Базовый интерпретатор tcl / tk не является объектно-ориентированным (т.е. не основан на классах и экземплярах).Python, однако, очень ориентирован на классы.Чтобы сделать tkinter более питоническим, разработчики решили сделать интерфейс для tcl / tk на основе классов.
Без этого интерфейса создание фрейма может выглядеть так:
tk = _tkinter.create(screenName=None, baseName=None, className='Tk',
interactive=True, wantobjects=1, useTk=True,
sync=0, use=None)
frame = tk.call("frame", ".myframe", "-background", "red")
С обёрткой это становится:
root = tkinter.Tk()
frame = tk.Frame(root, background="red")
Прочитать официальную документацию по tcl / tk
Каноническую документацию для библиотеки tk, которая является частью tcl, можно найти по следующей ссылке:
Найти расположение пакетана вашем диске
Чтобы увидеть уникальные для tkinter вещи, такие как классы, которые обертывают базовые виджеты tk, вы можете просмотреть файлы в модуле tkinter.Самый простой способ найти их - импортировать модуль, а затем изучить атрибут __file__
, чтобы увидеть, где он хранится на вашем диске.
Если вы находитесь на python3, то выше, вероятно, будет отображаться ссылка на файл __init__.py
, а на python2, вероятно, будет отображаться ссылка на Tkinter.pyc
.В обоих случаях вы можете видеть содержащую папку, где вы можете осмотреться и изучить все, что составляет пакет в вашей системе.
bash-3.2$ python3
Python 3.7.2 (default, Jan 13 2019, 12:50:01)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> print(tkinter.__file__)
/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py
(Конечно, фактический файл и местоположение зависят от вашей версии иваша ОС)
См. официальные исходные файлы на github
Файлы доступны через github по следующей ссылке.Основная часть определения tkinter находится в файле __init__.py
.