When I use QGridLayout, it's have 2*12 buttons, i want to setting the spacing automatically.



  • Eeach button size is fixed to 80*50
    the QGridLayout's size is 1024 * 160
    I want the QGridLayout to automatically spacing the
    buttons. once I changed the button's size,
    the layout is changed.



  • I not sure wath you want, if you want to line up your buttons in two
    rows each containing 12 buttons, than I would use two QHBoxLayouts and a QVBoxLayout. Ths size of the buttons are defined from the layout, that is
    the usual way and the idea of a layout. If you want to have a fixed size for
    the area of the buttons, put the layout in a QFrame with fixed size, then all
    sizes are defined from this.



  • The size of the QGridLayout is dictated by the size of the container it is applied to. The grid layout allocates the space it has available to the widget it controls. If you stick 2*12 equal fixed-size widgets into the grid layout they will, by default, all get exactly the same space allocated to them. If there is sufficient space then the widgets with be surrounded evenly by the spare space.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.