    QVBoxLayout* vlayout = new QVBoxLayout;
    vlayout->setMargin(0);
    vlayout->setSpacing(15);
  
    QObject::connect(btn_group, SIGNAL(buttonClicked(QAbstractButton*)), parent, SLOT(handleButton(QAbstractButton*)));
  
    for (const auto &s : layout) {
      QHBoxLayout *hlayout = new QHBoxLayout;
      hlayout->setSpacing(30);
 
</s> remove   QButtonGroup* btn_group = new QButtonGroup(this);
 </s> add   vlayout->setMargin(0);
  vlayout->setSpacing(15); </s> remove   int i = 0;
 </s> add  </s> remove     if (i == 1) {
 </s> add     if (vlayout->count() == 1) { </s> remove const int DEFAULT_WIDTH = 1;
const int SPACEBAR_WIDTH = 3;
 </s> add const int DEFAULT_STRETCH = 1;
const int SPACEBAR_STRETCH = 3;
  QButtonGroup* btn_group = new QButtonGroup(this);
    QVBoxLayout* vlayout = new QVBoxLayout;
    vlayout->setMargin(0);
    vlayout->setSpacing(15);
  
  QButtonGroup* btn_group = new QButtonGroup(this);
    QObject::connect(btn_group, SIGNAL(buttonClicked(QAbstractButton*)), parent, SLOT(handleButton(QAbstractButton*)));
  
    for (const auto &s : layout) {
      QHBoxLayout *hlayout = new QHBoxLayout;
      hlayout->setSpacing(30);
keep keep keep add keep keep keep keep keep
 Qt UI refactoring + improvements (#20033) 
selfdrive/ui/qt/widgets/keyboard.cc