2016-12-02 22 views
2

所以我想为我的A Level课程创建一个二十一点游戏(嗯,我处于早期阶段),并且我正在使用Tkinter网格来定位所有的小部件。如何设置一定量的Tkinter网格的行和列?

我想要一个20列10行的网格。 但是,在我的程序中,我只使用1到18列和1到18行。

如何告诉Tkinter我仍然希望列0和19以及行0和9为空,因此它不会认为我希望我的网格只有9行和19列?

比方说,我有这个作为我的基本程序:

from tkinter import * 
window=Tk() 
window.pack() 
l=Label(window, text='Label1').grid(column=8, row=1) 
l2=Label(window, text='Label2').grid(column=1, row=8) 

所以,在这个程序中的电网会认为它需要有只有9列和9行,但其实我是想一列10号( 9)作为空白区域,行号10(9)也作为空白区域。

请帮忙,我必须在两周内完成这个程序。

+0

顺便说一句:如果你需要'l','l2'那么你有两个步骤做'L =标签()'和'l.grid()'。现在你将'None'分配给'l',因为'grid()'总是返回'None'。 – furas

回答

2

由于默认空行/列的高度/宽度为0(零),并且您没有看到它(但存在)。

您可以行或列(即行/列9号)

window.rowconfigure(9, {'minsize': 30}) 
window.columnconfigure(9, {'minsize': 30}) 

# or 

window.rowconfigure(9, minsize=30) 
window.columnconfigure(9, minsize=30) 

设置最小尺寸或者你可以把Label没有文字或空格为文本。


import tkinter as tk 

window = tk.Tk() 

l1 = tk.Label(window, text='Label1') 
l1.grid(column=8, row=1) 

l2 = tk.Label(window, text='Label2') 
l2.grid(column=1, row=8) 

# add empty label in row 0 and column 0 
l0 = tk.Label(window, text='  ') 
l0.grid(column=0, row=0) 

# set minimal size for row 9 and column 9 
window.rowconfigure(9, {'minsize': 30}) 
window.columnconfigure(9, {'minsize': 30}) 

window.mainloop() 
相关问题