python tkinter网格定位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python tkinter网格定位相关的知识,希望对你有一定的参考价值。

我是Python的新手,用网格尝试我的第一个布局。我真正需要的是这种布局:

我的列表是:

1. root=Tk()
2. root.geometry("640x480")
3. root.title("Skroutz Parser")

#entryText=StringVar(root)
4. topFrame=Frame(root, bg='cyan', width = 640, height=80)
5. middleFrame=Frame(root,bg='gray2', width=640, height=400)
6. bottomFrame=Frame(root, bg='yellow', width = 640, height=50)

# layout all of the main containers
7. root.grid_rowconfigure(1, weight=1)
8. root.grid_columnconfigure(0, weight=1)

9. topFrame.grid(row=0)
10.middleFrame.grid(row=1)
11.bottomFrame.grid(row=2)

# layout middle container
12.middleFrame.grid_rowconfigure(0, weight=1)
13.middleFrame.grid_columnconfigure(0, weight=1)

14.leftFrame=Frame(middleFrame, bg='green', width = 125, height=400)
15.rightFrame=Frame(middleFrame, bg='white', width = 515, height=400)

16.leftFrame.grid(row=0,column=0,sticky="n")
17.rightFrame.grid(row=0, column=1)

18.buttonFeatured=Button(leftFrame, text='   Recommended    ', pady=5, .command=showRecommendedProductsResults)
19.buttonSkroutz=Button(leftFrame, text='Skroutz Products', pady=5, command=printSkroutzProducts)
20.buttonFeatured.grid(row=0, column=0, sticky="n")
21.buttonSkroutz.grid(row=1, column=0)

22.entryText=StringVar()
23.entryMain=Entry(rightFrame,textvariable=entryText, bg="white")
24.entryMain.grid(row=0,column=0,rowspan=2,columnspan=5,sticky="w")

25.root.mainloop()

如果我评论第18-24行,那么我或多或少会得到所需的布局:

如果我取消注释第18-21行(留下注释行22-24)然后我得到这个(左框架上的奇怪的黑色):

如果我取消注释剩余的线......我弄得一团糟!

我现在挣扎了两天,但没有运气....任何帮助将不胜感激!谢谢!

以上是关于python tkinter网格定位的主要内容,如果未能解决你的问题,请参考以下文章

Python Tkinter 在 GUI 中嵌入 Matplotlib

我如何使用python将终端输出到网格中的tkinter框架?

python tkinter grid 网格

Python tkinter 如何使用网格粘性

python之tkinter使用-Grid(网格)布局管理器

python基础 Tkinter 之 几何管理器