Python GUI - 2.7 至 3.5

标签 python user-interface tkinter python-3.5

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

最佳答案

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

app = Frame(root)

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

label = Label(app, text = "This is a label")
label.grid()
app.pack()

关于Python GUI - 2.7 至 3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331380/

相关文章:

python - 在 Python 中将字符串转换为 'unit' 对象

python - 如何截断列表?

android - 应用程序的 UI 在 220 dpi 屏幕上不合适

python-3.x - Tkinter 对象从错误的线程被垃圾收集

python - 如何移动 Tkinter 按钮?

python - 有没有更简单的方法在 Matlab 中构造 Mandelbrot 集?

android - 为什么从 onMeasure 设置文本不会影响 TextView?

jquery UI datepicker 隐藏日期选择器

python - 阻止 Tkinter 框架根据小部件大小调整大小

python - Scipy 操作是逐行完成的,而不是像 Matlab 中那样逐列完成的?