你能一次为行/列配置所有minsize吗?

时间:2017-03-20 22:42:58

标签: python python-3.x tkinter

我有一个tkinter应用程序我正在研究一个笔记调用工具。我的问题在于.grid布局。我想知道是否有办法使用.columnconfigure().rowconfigure()使用类似于定义所有行/列的范围来配置所有行和所有列的minsize。现在我必须分别为行和列定义minsize=。它只是应该有一种更简单的方法来同时定义所有的行/列。

这是我的代码

from tkinter import *
from tkinter.ttk import *
import tkinter.font
import subprocess as sub
import tkinter.messagebox


#~~~~~~~~~~~< spacer grid >~~~~~~~~~~~
spacerC0=Label(root, text="0").grid(row = 1, column = 0)
spacerC1=Label(root, text="1").grid(row = 1, column = 1)
spacerC2=Label(root, text="2").grid(row = 1, column = 2)
spacerC3=Label(root, text="3").grid(row = 1, column = 3)
spacerC4=Label(root, text="4").grid(row = 1, column = 4)
spacerC5=Label(root, text="5").grid(row = 1, column = 5)
spacerC6=Label(root, text="6").grid(row = 1, column = 6)
spacerC7=Label(root, text="7").grid(row = 1, column = 7)
spacerC8=Label(root, text="8").grid(row = 1, column = 8)
spacerC9=Label(root, text="9").grid(row = 1, column = 9)
root.columncel(root, text="0").grid(row = 1)
spacerR1=Label(root, text="1").grid(row = 2)
spacerR2=Label(root, text="2").grid(row = 3)
spacerR3=Label(root, text="3").grid(row = 4)
spacerR4=Label(root, text="4").grid(row = 5)
spacerR5=Label(root, text="5").grid(row = 6)
spacerR6=Label(root, text="6").grid(row = 7)
spacerR7=Label(root, text="7").grid(row = 8)
spacerR8=Label(root, text="8").grid(row = 9)
spacerR9=Label(root, text="9").grid(row = 10)
root.rowconfigure(0, minsize=60)
root.rowconfigure(1, minsize=60)
root.rowconfigure(2, minsize=60)
root.rowconfigure(3, minsize=60)
root.rowconfigure(4, minsize=60)
root.rowconfigure(5, minsize=60)
root.rowconfigure(6, minsize=60)
root.rowconfigure(7, minsize=60)
root.rowconfigure(8, minsize=60)
root.rowconfigure(9, minsize=60)
root.rowconfigure(10, minsize=60)

1 个答案:

答案 0 :(得分:2)

不确定

for row_num in range(root.grid_size()[1]):
    root.rowconfigure(row_num, minsize=60)

编辑:您可以将其与循环组合以创建所有这些标签:

#~~~~~~~~~~~< spacer grid >~~~~~~~~~~~
for col_num in range(1, 10):
    spacer=Label(root, text=str(col_num))
    spacer.grid(row = 0, column = col_num)
for row_num in range(10):
    spacer=Label(root, text=str(row_num))
    spacer.grid(row = row_num, column = 0)
    root.rowconfigure(row_num, minsize=60)