Где находится модуль Tkinter, содержащий функции? - PullRequest
0 голосов
/ 09 февраля 2019

Где находится модуль Tkinter (в python 2.7), содержащий все функции, такие как Tk (), tk.Entry (), tk.Button () и т. Д.?Я хочу составить список всех функций в чит-листе для быстрого ознакомления и понимания обзора / контроля, который не достигается непроницаемыми заполненными жаргоном описаниями.Похоже, что в исходных файлах python27 нет файла, который дает это, в Интернете есть предположение, что это двоичный файл и, следовательно, недоступен.Это так?Разве нет файла, содержащего функции в исходном коде python27?

В любом случае, есть какое-либо представление о том, где перечислены функции в Tkinter, чтобы я мог создать свой собственный краткий справочный лист?

1 Ответ

0 голосов
/ 09 февраля 2019

Прочтите официальную документацию по 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...