gpt4 book ai didi

qt - 如何在状态栏的中心对齐 QProgressBar 并显示文本?

转载 作者:行者123 更新时间:2023-12-04 13:57:06 28 4
gpt4 key购买 nike

我在状态栏中显示进度条,但它并没有很好地对齐。如果可能的话,我希望它显示为中心对齐,或者至少在左侧有一些边距,我正在附上快照。

我遇到的第二个问题是我希望它显示文本但没有显示文本。

_progressBar = new QProgressBar(this);

_progressBar->setRange(0, 0);
_progressBar->setTextVisible(true);
_progressBar->setFormat("Connecting");

ui->statusBar->addPermanentWidget( _progressBar, 2 );

既然我们在这里,拉伸(stretch)参数(在 ctor 中)的默认值为 0,但它并没有真正说明它可能具有的其他值。 0产生最短的尺寸,而我尝试的任何其他大于 0 的值都会给出最大值。中间什么都没有。我试图解决 stretch 的问题值但不成功。

enter image description here

最佳答案

第一期:
如果您想在进度条的左侧添加一些空间,可以使用 QSpacerItem .把这个包起来QSpacerItemQProgressBarQWidget 内,然后添加 QWidget在状态栏中:

QProgressBar * _progressBar = new QProgressBar();
_progressBar->setRange(1, 10);
_progressBar->setValue(2);
_progressBar->setTextVisible(true);
_progressBar->setFormat("Connecting");

QWidget * w = new QWidget;
QHBoxLayout * _hlayout = new QHBoxLayout();
_hlayout->addSpacerItem(new QSpacerItem(40,1));
_hlayout->addWidget(_progressBar);
w->setLayout(_hlayout);

ui->statusBar->addPermanentWidget(w, 2);

enter image description here

.
第二期:
一旦您调用 QProgressBar::setValue,就会显示您的文字。值在您指定的范围内:
QProgressBar * _progressBar = new QProgressBar();

_progressBar->setRange(0, 100);
_progressBar->setValue(10);
_progressBar->setTextVisible(true);
_progressBar->setFormat("Connecting");

ui->statusBar->addPermanentWidget( _progressBar, 2 );

顺便说一句,栏右侧的空白边距是显示文本的位置。
如果你想摆脱那个空间,你可以添加 _progressBar->setAlignment(Qt::AlignCenter);将您的文本置于 QProgressBar 上:
enter image description here

关于qt - 如何在状态栏的中心对齐 QProgressBar 并显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795886/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com