Найти - Пользователи
Полная версия: tkinter
Начало » Python для новичков » tkinter
1
Sobol007
Изучаю графическую библиотеку tkinter - в документации показано, что ее нужно вот так вызывать.
from tkinter import *

а программист который на видео объясняет как работать - вызывает библиотеку вот таким способом
import tkinter as tk

если делать по документации, то не удается разместить на окне Entry, как он показывает.

В чем разница между этими двумя объявлениями?
win = tk.TK()
calc = tk.Entry(win)

а если по документации объявить, то так не получается сделать
from tkinter import *
root=Tk()
#calc = tk.Entry(root) <— Бьет ошибку tk
py.user.next
Sobol007
Изучаю графическую библиотеку tkinter - в документации показано, что ее нужно вот так вызывать.
from tkinter import *
Тогда импортируются все имена, а их там много. И ты должен их тогда все знать, чтобы случайно не перекрыть какое-нибудь из них своим классом или своей константой. Поэтому и принято использовать пространства имён. Каждое имя находится в своём пространстве имён. И даже если имена одинаковые, то пространства имён, в которых они находятся, у них разные.

Можешь импортировать так:
  
from tkinter import Tk, Entry
 
...
 
entry = Entry(...)
Но это если у тебя код маленький.

Если же код большой, то лучше симпортировать так:
  
import tkinter as tk
 
...
 
entry = tk.Entry(...)
Тогда ты можешь сделать свой класс Entry() и он не схлестнётся с tkinter.Entry (не будет коллизии имён), так как у них разные пространства имён - tk.Entry и __main__.Entry .
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