import ipywidgets as widgets
def generate(n):
widget = []
for i in range(n):
inner = []
for j in range(n):
inner.append(widgets.Button(description=f'{i*n+j+1}'))
widget.append(widgets.HBox(inner))
return widgets.VBox(widget)
generate(20)