【发布时间】:2020-01-15 19:39:17
【问题描述】:
我正在编写一个程序,单击按钮后,用户将打开一个文本文件。然后,还应该将文本文件的内容打印到按钮的父窗口中的标签框架中。当我尝试执行此操作时,出现错误:NameError: name 'LabelFrame' is not defined。是否可以编辑不在同一功能中的标签Frame?
编辑: 这是代码的sn-p。间距可能有点偏,抱歉。
import tkinter as tk
from tkinter import *
from tkinter import filedialog
def PerformTestScreen():
performTestScreen = Toplevel(window)
performTestScreen.geometry("400x225+10+560")
performTestScreen.title("Perform Test")
loadProg = Button(performTestScreen, text="Load Test", command=openPrevTest).grid(row = 0, column= 0, pady=10,padx=10, ipadx=30)
paramFrame = LabelFrame(performTestScreen, text="Parameters",padx=15, pady=30)
paramFrame.grid(row=1,column=0, pady=10, padx=10)
test = Label(paramFrame, text = "this is a test label").grid(row=0, column=0)
def openPrevTest():
fileName = filedialog.askopenfilename(filetypes = (("txt files", "*.txt"),("All Files", "*.*")))
print(fileName)
data = open(fileName).read()
print(data) # prints contents of text file to terminal
printParam = Label(performTestScreen.paramFrame, text=data)
printParam.grid(row=2,column=0)
window=tk.Tk()
btn=Button(window, text="Perform Test", command = PerformTestScreen).grid(row=1, column=1, pady=20, padx=20, ipadx=30)
window.title('Entry Screen')
window.geometry("400x160+10+10")
window.mainloop()
【问题讨论】:
-
你能分享一些相关的sn-ps吗?谢谢。
-
我可以在这里看到一些问题。首先,您的函数中有缩进问题。 5 个空格而不是 4 个。第二个你引用
performTestScreen作为一个函数和一个容器。您对 2 个不同的事物使用相同的名称。这会导致问题。 -
我更改了名称,所以它们不一样,但我仍然收到相同的错误@Mike-SMT
标签: python python-3.x tkinter