【问题标题】:Issue with placing Tkinter widgets within frame将 Tkinter 小部件放置在框架内的问题
【发布时间】:2015-04-10 23:43:01
【问题描述】:

我刚刚开始使用 Tkinter,我遇到了一个非常简单的问题,这让我发疯了。我正在尝试在标签框架内放置一个按钮。这是一个非常简单的任务,有许多在线教程。只需创建按钮并将框架分配为父级。然后使用 pack 命令将小部件打包到其父级中。但是,当我这样做时,按钮 - 或任何小部件 - 始终位于父级下方。无论我使用包还是网格,子小部件总是在它下面。 Refer to this image

from tkinter import *

application = Tk()
lblframe = LabelFrame(application, width=300, height=300, text="Test", bd=10).pack()
btn = Button(lblframe, text="Button 1").pack()
application.mainloop()

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    pack() 返回的值为 None。因此,您正在分配 lblframe 以保存 None 值,因此当您创建 Button 小部件时,它将 None 作为父级传递。这会导致其父级成为应用程序顶层,因此您会看到打包(两个小部件都打包到同一个容器中)。如果您分别进行创建和打包,它将按预期工作,例如:

    from tkinter import *
    
    application = Tk()
    lblframe = LabelFrame(application, width=300, height=300, text="Test", bd=10)
    btn = Button(lblframe, text="Button 1")
    lblframe.pack()
    btn.pack()
    application.mainloop()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 2021-05-29
      • 1970-01-01
      相关资源
      最近更新 更多