2016-12-02 34 views
2

, поэтому я пытаюсь создать игру в блэкджек для моей курсовой работы на уровне A (ну, я нахожусь на ранних стадиях), и я использую сетку 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.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()