问题描述
from tkinter import *
#Create the window
root = Tk()
#Modify root window
root.title("Simple GUI")
root.geometry("200x50")
app = frame(root)
label = Label(app, text = "This is a label")
label.grid()
#kick of the event loop
root.mainloop()
我正在关注YouTube的教程,以了解Python tkinter GUI。 但是,当我运行上面的代码时,它带有一个错误。
Traceback (most recent call last):
File "C:/Users/Nathan/Desktop/Python/Python GUI/Simple GUI.py", line 14, in <module>
app = frame(root)
NameError: name 'frame' is not defined
我知道这与frame
,我尝试了Frame
却不起作用。
您能帮我使它工作吗,谢谢!
我目前正在使用Python 3.5,本教程位于2.7中
1楼
您确实得到了一个事实,即2.x模块名为Tkinter,但在3.x中它名为tkinter。 但是,Frame类没有将第一个字母更改为小写。 它仍然是框架。
app = Frame(root)
克服导入差异的一种方法是
2楼
您的脚本有两个问题。 第一个给出了错误,并且您已经找到了解决方法:
app = Frame(root)
第二个问题是,如果没有适当的布局管理,标签将不会出现在框架内。
要解决此问题,请在框架上调用pack()
:
label = Label(app, text = "This is a label")
label.grid()
app.pack()
3楼
from tkinter import *
App = Tk()
App.geometry("400x400")
L = Label(App, text="Hello")
L.pack()
您不需要使用框架。
4楼
首先,要了解,无论何时要创建标签或框架,请确保使用其首字母大写。 对于前。 Label()或Frame()。 在上面的示例中,使用: app = Frame(root) ,然后您需要使用“ grid()”来很好地打包框架。 在上述示例中,请使用: app.grid()祝您好运!