首页 > 解决方案 > 在 QScrollArea 中居中 QLabel 派生小部件

问题描述

papyrus我应该如何在 QScrollArea 中将我的 QLabel 派生小部件居中?

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);

这是我正在使用的片段,但我的小部件粘在左上角......

标签: c++qtqt5

解决方案


(main.cpp 示例):

#include <QApplication>
#include "MainWindow.h"

#include <QScrollArea>
#include <QLabel>
#include <QHBoxLayout>

int main(int argc, char** argv)
{
    QApplication a(argc, argv);

    QLabel label("Label");
    label.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);

    QScrollArea area;
    area.setWidgetResizable(true);

    area.setWidget(&label);
    area.show();

    return a.exec();
}

推荐阅读