开发者社区> 问答> 正文

用tkinter无法理解包和网格几何

不明白furas如何使下面的代码工作。当他添加一个盒子时,为什么他没有收到关于网格和包装在同一根上的错误消息?在addbox函数中,他将一个框架设置为已经打包的根,甚至使用函数内部的包然后使用网格。

有人可以向我解释这个“魔法”是如何起作用的吗?

from Tkinter import *

------------------------------------

def addBox():

print "ADD"

frame = Frame(root)
frame.pack()

Label(frame, text='From').grid(row=0, column=0)

ent1 = Entry(frame)
ent1.grid(row=1, column=0)

Label(frame, text='To').grid(row=0, column=1)

ent2 = Entry(frame)
ent2.grid(row=1, column=1)

all_entries.append( (ent1, ent2) )

------------------------------------

def showEntries():

for number, (ent1, ent2) in enumerate(all_entries):
    print number, ent1.get(), ent2.get()

------------------------------------

all_entries = []

root = Tk()

showButton = Button(root, text='Show all text', command=showEntries)
showButton.pack()

展开
收起
一码平川MACHEL 2019-01-23 16:43:13 1436 0
1 条回答
写回答
取消 提交回答
  • 没有魔力,它只是按设计工作。代码pack在根窗口中使用,并grid在框架内使用。充当其他小部件容器的每个小部件都可以使用grid或pack。你不能同时使用grid,并pack为具有相同的主部件在一起。

    2019-07-17 23:26:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载