首页 > 解决方案 > QStackedLayout setAlignment 函数什么都不做

问题描述

希望你做得很好。

我正在尝试右对齐 QStackedLayout 中包含的两个小部件。这两个小部件被调整为方形,因此它们不会占据布局中的所有位置。

我试过了 :

stacked_layout->setAlignment(widget1, Qt::AlignRight)

我还尝试使用 setGeometry 调整 QStackedLayout 本身的大小,但它不能很好地调整大小。

将 QProgressBar 放置在一个容器(即 QWidget)中,使其能够以附加布局居中。

也不行。或者,也许我没有理解答案。唯一可以添加到 QStackedLayout 的项目是 QWidget。“额外的布局”也不清楚。

以下是重现问题的方法

QStackedLayout *stacked_layout = new QStackedLayout();    
QLabel *label = new QLabel(QPixmap("image")); 
stacked_layout->addWidget(label);
label->setFixedSize(label->size().height(), label->size().height());
stacked_layout->setAlignment(label, Qt::AlignRight);

标签应该向右对齐,但它绝对没有任何作用。

请问有什么想法吗?

标签: c++qt

解决方案


推荐阅读