Qt 如何以最大宽度居中小部件?
Qt how to center widget with a maximum width?
如何在 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。我怎样才能让它拉伸到 1000 像素,但如果父窗口小部件较小并同时居中则缩小?
可以通过将 QVBoxLayout
替换为 QHBoxLayout
和
将 layout->addWidget(progressBar, 0, Qt::AlignCenter);
替换为 layout->addWidget(progressBar); progressBar->setAlignment(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);
如何在 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。我怎样才能让它拉伸到 1000 像素,但如果父窗口小部件较小并同时居中则缩小?
可以通过将 QVBoxLayout
替换为 QHBoxLayout
和
将 layout->addWidget(progressBar, 0, Qt::AlignCenter);
替换为 layout->addWidget(progressBar); progressBar->setAlignment(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);