Applying a role to a textbox removes the ability to enter new text

That seems odd. When you insert a component, you need to slide the blue handle at the right of the component to adjust its width.

I think though I would also have added the textboxes by code since I wouldn’t really want to set them all out manually. You could also use @hugetim’s matrix component: Display a list of lists in a grid

Once you have all the components in the grid panel, you can do something like this to update all the properties at once.

# Get all the 81 components
text_box_list = self.grid_panel.get_components()

# Update the properties one by one in a for loop
for box in text_box_list:
  box.align = 'center'
  box.background = '#ddf'
  # or what ever you need to do
1 Like