首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能在网格中分配行和列

为什么我不能在网格中分配行和列
EN

Stack Overflow用户
提问于 2022-01-09 04:29:24
回答 1查看 77关注 0票数 -1

下面是带有错误的代码的SS

代码语言:javascript
运行
复制
Error: _tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack

当我改变到

代码语言:javascript
运行
复制
user.grid(row=0, column=0)
password.grid(row=1, column=0)

user.pack(row=0, column=0)
password.pack(row=1, column=0)

它正在抛出一个错误:

代码语言:javascript
运行
复制
_tkinter.TclError: bad option "-row": must be -after, -anchor, -before, -expand, -fill, -in, -ipadx, -ipady, -padx, -pady, or -side

有错误码的SS

EN

Stack Overflow用户

回答已采纳

发布于 2022-01-09 04:38:51

你不能把packgrid混在一起。

警告:不要将网格混合在同一个主窗口中。Tkinter会很高兴地在你的余生中努力谈判一个双方都满意的解决方案。与其等待,不如关闭应用程序,然后再看看您的代码。一个常见的错误是对某些小部件使用错误的父级。

我会说选择grid函数是因为选择每个小部件的位置比较容易。因此,将l1.pack()更改为l1.grid(row=0, column=0) (将0替换为要放置它的行和列)。

例如:

代码语言:javascript
运行
复制
from tkinter import *
root = Tk() 
root.geometry("700x400") # Title
root.title("Dance Admission Form") # Label
l1 = Label(text="Admission Form", font="Arial 15 bold")
l1.grid(row=0, column=0) 
user = Label(root, text="Username")
password = Label(root, text="Password")
user.grid(row=1, column=0)
password.grid(row=2, column=0) 
root.mainloop() 

或居中版本:

代码语言:javascript
运行
复制
from tkinter import *
root = Tk() 
root.geometry("700x400") # Title
root.title("Dance Admission Form") # Label
l1 = Label(text="Admission Form", font="Arial 15 bold")
l1.grid(row=0, column=0)
root.columnconfigure(0, weight=1)
user = Label(root, text="Username")
password = Label(root, text="Password")
user.grid(row=1, column=0)
password.grid(row=2, column=0) 
root.mainloop() 
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70638441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档