python - tkinter框架内的网格?
问题描述
我正在尝试在 python tinker 中构建一个网格结构,该网格结构彼此放在一边,中间没有任何可用空间,但我不知何故无法实现这一点。
谁能帮助我做错了什么?
这是代码。
import tkinter as tk
window = tk.Tk()
window.geometry("700x600")
frame1=tk.Frame(window,width=350,height=400,bg='black')
frame1.grid(row=0,column=0,rowspan=1,columnspan=1)
frame2=tk.Frame(window,width=350,height=600,bg='white')
frame2.grid(row=0,column=1)
frame3=tk.Frame(window,width=350,height=200,bg='red')
frame3.grid(row=1,column=0,rowspan=1,columnspan=1)
window.mainloop()
这是我得到的输出,虽然我想要的是黑框和红框之间没有任何间隙,所以总高度仍然是 600。
解决方案
问题是因为frame2
第二列比frame1
它的左边高。要解决此问题,只需指定它跨越frame1
和frame3
占用的两行。
import tkinter as tk
window = tk.Tk()
window.geometry("700x600")
frame1=tk.Frame(window, width=350, height=400, bg='black')
frame1.grid(row=0, column=0, rowspan=1, columnspan=1)
frame2=tk.Frame(window, width=350, height=600, bg='white')
frame2.grid(row=0, column=1, rowspan=2) # Added rowspan here.
frame3=tk.Frame(window, width=350, height=200, bg='red')
frame3.grid(row=1, column=0, rowspan=1, columnspan=1)
window.mainloop()
结果:
推荐阅读
- reactjs - React Typescript 传递道具和数据类型
- python - Python将数据从1 df复制到其他df中的第一个匹配行
- reactjs - 如何处理顺序调度到 redux 并阻塞应用程序的套接字回调?react-redux 批处理?
- awk - 将文件中的每一列与另一个文件中的一列进行比较
- angular - 给出“不知道属性”错误的指令
- javascript - document.getElementById 仅适用于一种产品
- google-analytics - 在 Data Studio 中为用户指标计算“占总数的百分比”会产生大于 100% 的结果
- c - 如何在c中连接两个字符?
- python - VSCode 中的 Python 和 pylint
- python - python创建线程需要多长时间