Python Tkinter - глобальное имя Tk () не определено - PullRequest
0 голосов
/ 21 января 2012

Я следовал учебному пособию для интерфейса tkinter в python, и он использует следующий фрагмент кода для объявления корневого виджета для программы, которая затем имеет дочерние виджеты:

root = Tk() 

I'mпри попытке интерпретировать этот фрагмент кода появляется следующая ошибка:

Global name Tk() is not defined 

Я вполне уверен, что это произошло потому, что tkinter изменился с момента обучения;Я не могу найти другие учебники, в которых не используются такие фрагменты кода, чтобы они тоже не работали.

У меня вопрос в простом контексте, но я не могу найти ответ в поиске;Как мне обойти это: что изменилось в синтаксисе tkinter и каков новый метод сортировки для объявления корневого виджета?кроме того, было бы замечательно, если бы кто-нибудь знал tkinter, чтобы предупредить меня, изменился ли способ, которым вы можете добавлять дочерние виджеты в корень.

Спасибо за все ответы ~ Michael

Ответы [ 4 ]

6 голосов
/ 21 января 2012

Вы, вероятно, забыли from Tkinter import * наверху.

2 голосов
/ 21 января 2012

В качестве альтернативы, есть

import Tkinter

или

import Tkinter as tk

Редактировать: Как правило, вы хотите использовать идиому from <library> import <module>, поэтому для вашего конкретного примера from Tkinter import Tk будет работать.

, который позволяет вам, например, набирать tk.Button, а не Tkinter.Button во всем коде. А если вы используете Python 3.x, библиотека будет строчной.

import tkinter

Для общих вопросов об импорте я видел ссылку Импорт модулей Python , на которую часто ссылаются в SO.

1 голос
/ 22 ноября 2018

Вы, кажется, назвали файл tkinter.py .Вы не можете назвать файл с модулем, который вы импортируете.Python попытается импортировать из существующего файла вместо модуля tkinter.Там будет имя модуля collison.Попробуйте переименовать ваше имя файла.

0 голосов
/ 16 июля 2012
from Tkinter import *
root = Tk()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...