当前位置: 代码迷 >> python >> Python GUI-2.7至3.5
  详细解决方案

Python GUI-2.7至3.5

热度:72   发布时间:2023-06-16 13:58:35.0
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中

您确实得到了一个事实,即2.x模块名为Tkinter,但在3.x中它名为tkinter。 但是,Frame类没有将第一个字母更改为小写。 它仍然是框架。

app = Frame(root)

克服导入差异的一种方法是

您的脚本有两个问题。 第一个给出了错误,并且您已经找到了解决方法:

app = Frame(root)

第二个问题是,如果没有适当的布局管理,标签将不会出现在框架内。 要解决此问题,请在框架上调用pack()

label = Label(app, text = "This is a label")
label.grid()
app.pack()
from tkinter import *
App = Tk()
App.geometry("400x400")
L = Label(App, text="Hello")
L.pack()

您不需要使用框架。

首先,要了解,无论何时要创建标签或框架,请确保使用其首字母大写。 对于前。 Label()或Frame()。 在上面的示例中,使用: app = Frame(root) ,然后您需要使用“ grid()”来很好地打包框架。 在上述示例中,请使用: app.grid()祝您好运!