目的:

需要再tabWidget的右边添加按钮组,直接添加会出现不对齐的现象。

解决方法:

利用布局和widget添加进去

  1. QWidget *buttongroup = new QWidget(this);//自定义tabWidget右上角按钮组
  2. buttongroup->setMaximumSize(100,30);
  3. buttongroup->setObjectName("buttongroup");
  4. QPushButton *setbutton = new QPushButton(this);//设置按钮
  5. setbutton->setMaximumSize(100,30);
  6. setbutton->setObjectName("settingButton");
  7. setbutton->setIcon(QIcon(":/img/setting.png"));
  8. setbutton->setText(tr("设置"));
  9. //定义按钮组水平布局
  10. QHBoxLayout *layout1= new QHBoxLayout(buttongroup); //这里的父对象要设置为buttongroup,而不是this
  11. layout1->setSizeConstraint(QLayout::SetFixedSize);
  12. layout1->addWidget(setbutton);
  13. layout1->setMargin(0);
  14. buttongroup->setLayout(layout1);
  15. ui->tabWidget->setCornerWidget(buttongroup); //加到tabwidget的右上角

效果:

QTabWidget右边添加按钮 - 图1