将小部件置于Qt中的另一个小部件中

Onu*_*una 2 c++ qt qt5

我正试图将QWidget本地化在QTabWidget中.当一个人调整内部QWidget的大小时,我希望它总是放在中心.

我怎样才能做到这一点?

IAm*_*PLS 5

1 /在您的QTabWidget:a中创建一个布局QBoxLayout.

2/QWidget使用所需的对齐方式设置您的内容.

QTabWidget* tabwid = new QTabWidget(this);
QBoxLayout* layout = new QBoxLayout(QBoxLayout::LeftToRight, tabwid);
//if you want to set margins : layout->setContentsMargins(5, 5, 5, 5); 
QWidget* widget = new QWidget();
layout->addWidget(widget, Qt::AlignCenter); // center alignment
Run Code Online (Sandbox Code Playgroud)

  • `addWidget()` 语法不正确,因为 [`addWidget()`](https://doc.qt.io/qt-5/qboxlayout.html#addWidget) 的第二个参数是 `stretch`,不是对齐。它应该是`layout->addWidget(widget, 0, Qt::AlignCenter);` (2认同)