Я пытаюсь создать небольшую функцию, которая на основе некоторых аргументов (метка и количество ящиков) отображает текстовые виджеты и организует их на основе строки, указанной в grid_template_areas.
Проблема в том, что когда я запускаю программу в блокноте jupyter, последний столбец кажется непропорциональным по сравнению с другими, и я не вижу, какая инструкция приводит к этому.
Редактировать: Я продвинулся в программе, и она дает именно то, что я хочу, когда я использую кнопки (см. Рисунок). Проблема в том, что я хочу использовать текстовые поля или раскрывающийся список, но простая замена инструкции, которая создает кнопку, дает искаженный результат (см. Другой рисунок).
См. Код ниже.
from ipywidgets import Button, GridBox, Layout, ButtonStyle,widgets
Dicparams = {'Apples':5,'Oranges':2,'Bananas':3}
maxdim = max(Dicparams.values())
Stxt= ''
for i in range(0,maxdim+1):
Stxt = Stxt + ' ' + Scol_length
boxlist=[];Sid = ''
for Skey in Dicparams:
lab = widgets.Label(Skey)
boxlist.append (lab)
Sid = Sid + ' \n ' + '"' + Skey + 'label'
nboxes =int(Dicparams[Skey])
compteur = 0;Vmat = []
for i in range(0,10):
if i==0:
for j in range(0,nboxes):
Vmat.append(0)
for j in range(0,nboxes):
compteur = compteur+1
Vmat[j] = Vmat[j]+1
if compteur==maxdim: break
if compteur==maxdim: break
print(Vmat)
compteur=0
for j in range(0,nboxes):
k = Vmat[j]
compteur=compteur+1
for i in range(0,k):
textbox = Button(description='',layout=Layout(width='auto', grid_area=Skey + str(compteur)),style=ButtonStyle(button_color='blue'))
#textbox=widgets.Combobox(options=['1', '2', '3'],value='1',description='',disabled=False,grid_area=Skey + str(compteur))
if i==0: boxlist.append(textbox)
Sid = Sid + ' ' + Skey + str(compteur)
j=j+k
Sid = Sid + '"'
print(Sid)
GridBox(children=boxlist,layout=Layout(width='50%',grid_template_rows='auto auto auto',grid_template_columns=Stxt,grid_template_areas=Sid))
ОК с инструкциями кнопок ![](https://i.stack.imgur.com/4Ojsc.png)
Не нормально с текстовыми полями
![enter image description here](https://i.stack.imgur.com/hKKvN.png)