如何使用布局将一个按钮放在另一个按钮内

How to put a button inside another one using layouts

我正在尝试放置一个按钮 inside/over 另一个按钮,这在不使用任何布局时是可行的,但在我的情况下,我不得不使用导致问题的布局。下面的图片会更清楚。

没有布局:

布局:

对于这种情况,您可以使用 QStackedLayout,并将堆栈模式设置为 StackAll 以允许所有小部件可见。在 C++ 中,您可以 stackLayout->setStackingMode(QStackedLayout::StackAll);.

然后,将每个按钮插入不同的页面,并将带有 x 按钮的页面设置为活动页面(最前面)。每个页面都可以有自己的布局,(例如,将 x 按钮放在右上角)。

QStackedLayout 不能直接在设计器中使用,只能以编程方式使用。尽管如此,如果您想在 Designer 中对其进行布局,您可以使用 QStackedWidget(使用 QStackedLayoutQWidget)。 stackingMode 属性 必须以编程方式设置。