簡體   English   中英

NameError:名稱“tkinter”未定義

[英]NameError: name 'tkinter' is not defined

所以我嘗試使用 tkinter 並且我在一個非常簡單的代碼上遇到了這個錯誤你能幫幫我嗎?

編碼:

from tkinter import *
window = Tk()
l1 = tkinter.Label(window, text = "exmple text" , font = ("Arial" , 14))
l1.grid(row =0 ,column = 0 , sticky = E)
window.mainloop()

我得到的錯誤:

NameError: name 'tkinter' is not defined

我不知道我錯過了什么,因為我在網上看到人們像這樣的簡單代碼對他們有用

當您嘗試從 tkinter 調用 Label 時,我看到了一個小錯誤...

首先,我將繼續輸入正確的代碼,然后我將解釋一些有關它的細節:

from tkinter import *
window = Tk()
l1 = Label(window, text = "exmple text" , font = ("Arial" , 14))
l1.grid(row =0 ,column = 0 , sticky = E)
window.mainloop()

你的錯誤是你試圖使用

l1 = tkinter.Label(window, text = "exmple text" , font = ("Arial" , 14))

from tkinter import *將所有 tkinter 的命名空間加載到模塊的命名空間中,所以你不能再次調用 tkinter 和模塊......相反,你只需調用模塊。這就是為什么你的錯誤告訴你沒有定義 ZE5BA8B4C39C28BFAAAFE5104。

無論如何,執行這種類型的導入很糟糕,因為您可能會犯一些愚蠢的錯誤並最終導致令人不快的命名空間沖突。

正確的語法和格式是import tkinter然后調用 tkinter 的 function,只是為了防止命名空間沖突和通過查找來浪費時間是否失敗。

您應該查看前一段時間提出的這個問題,以獲取有關我在說什么的更多詳細信息! Tkinter 導入不帶*?

編輯:使用此代碼,應該可以工作,您不必擔心命名空間沖突:)

import tkinter
window = tkinter.Tk()
l1 = tkinter.Label(window, text = "example text" , font = ("Arial" , 14))
l1.grid(row =0 ,column = 0 , sticky = tkinter.E)
window.mainloop()

只需像這樣導入 tkinter :

import tkinter

window = tkinter.Tk()
l1 = tkinter.Label(window, text = "exmple text" , font = ("Arial" , 14))
l1.grid(row =0 ,column = 0 , sticky = tkinter.E)
window.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM