我应该如何将QLabel派生小部件 papyrus
置于QScrollArea中心?
QScrollArea *scroll_area = new QScrollArea(this);
scroll_area->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
scroll_area->setWidgetResizable(true);
scroll_area->setBackgroundRole(QPalette::Dark);
papyrus = new Papyrus(scroll_area);
scroll_area->setWidget(papyrus);
setCentralWidget(scroll_area);
resize(800, 600);
这是我正在使用的片段,但我的小部件贴在左上角......
2 回答
(main.cpp示例):
根据this question,使用对齐属性需要为您尝试居中的
QWidget
设置固定大小(设置最小值或最大值不足 - 您必须调用setFixedSize()
),否则将忽略对齐属性 . 如果设置固定大小与代码的其他部分不兼容,您应该尝试制作一个不同的QWidget
,其大小可以填充滚动区域并在QWidget
中居中papyrus
.在任何一种情况下,您可能需要删除
setWidgetResizable(true)
,因为这也可能会覆盖对齐属性 .