Qt如何与最大宽度中心小部件?



我如何在Qt中水平中心一个小部件,以这样一种方式,它延伸到一定的大小?我尝试了以下操作:

QVBoxLayout *layout = new QVBoxLayout(this);
QProgressBar *progressBar = new QProgressBar();
progressBar->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
progressBar->setMaximumWidth(1000);
layout->addWidget(progressBar, 0, Qt::AlignCenter);

但是,进度条总是小于1000px。我怎么能让它拉伸到1000px,但如果父部件更小并同时居中,它会收缩?

可以用QHBoxLayout和代替QVBoxLayout来修复用layout->addWidget(progressBar); progressBar->setAlignment(Qt::AlignCenter);代替layout->addWidget(progressBar, 0, Qt::AlignCenter);,猜测这两种排列是不同的。

QHBoxLayout *layout = new QHBoxLayout(this);
QProgressBar *progressBar = new QProgressBar();
progressBar->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
progressBar->setMaximumWidth(1000);
progressBar->setAlignment(Qt::AlignCenter);
layout->addWidget(progressBar);

最新更新