我如何将frame.pack()更改为网格形式,以便我可以在整个程序中使用网格

发布于 2025-01-15 04:51:40 字数 529 浏览 3 评论 0原文

我不断收到“无法在内部使用几何管理器网格。其中已经有由包管理的从属”的错误消息 - 这意味着我不能同时使用包和网格。我不知道如何将frame.pack()更改为可以使用网格的形式。

def __init__(self, master):

    frame = Frame(master)
    frame.pack()

    root.geometry("800x600")
    root.title("www.heathhighschool.co.uk/local/secure/management%system")
    root.iconbitmap("HeathIcon.ico")
   
    username = Label(frame, text="Username:").grid(row=1, column=0)
    username_entry = Entry().grid(row=1, column=1)
    
    passw = Label(frame, text="Password:").grid(row=2, column=0)

I keep getting the error message of "cannot use geometry manager grid inside . which already has slaves managed by pack" - which means i cant use pack and grid together. I dont know how to change frame.pack() into a form where i can use grid.

def __init__(self, master):

    frame = Frame(master)
    frame.pack()

    root.geometry("800x600")
    root.title("www.heathhighschool.co.uk/local/secure/management%system")
    root.iconbitmap("HeathIcon.ico")
   
    username = Label(frame, text="Username:").grid(row=1, column=0)
    username_entry = Entry().grid(row=1, column=1)
    
    passw = Label(frame, text="Password:").grid(row=2, column=0)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断肠人 2025-01-22 04:51:40

Entry().grid(row=1, column=1) Entry 没有位置参数,例如确定 master 的 rootframe如果没有给出位置参数,则默认设置 tk.Tk() (root)。

要解决您的问题,请为您的 Entry 使用不同的母版或使用 frame.grid()


另请注意,您可以在每个母版中拥有嵌套布局,您可以在其中使用选择使用 .pack().grid()

请参阅我的答案,了解 tkinters 几何管理的基本知识。


此外,您的分配将变为 None,因为 .grid() 返回 None,而您希望保留 返回的引用>小部件()

username = Label(frame, text="Username:")
username.grid(row=1, column=0)

Entry().grid(row=1, column=1) Entry has no positional argument, such as root or frame which determinates the master and if no positional argument is given tk.Tk() (root) is set by default.

To solve your issue, either use a different master for your Entry or use frame.grid()


Also note that you can have in each master a nested layout, within you can choose to use .pack() or .grid().

See my answer here for a basic knowledge of tkinters geometry management.


In addition, your assignment will become None since .grid() returns None, while you want to keep a reference that is returned by Widget():

username = Label(frame, text="Username:")
username.grid(row=1, column=0)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文