如何在QT中获得带有圆边和圆角进度边的QProgresBar?

时间:2016-03-17 23:20:32

标签: c++ qt qwidget qprogressbar

我创建了一个垂直进度条,并尝试使用圆边设置样式。无论我做什么,我似乎都无法获得带有圆边的进度条(QProgressBar :: chunk)的进度或块。请帮帮我,我是QT的新手。

请在下面找到我的代码: -

progressbar_V = new QProgressBar;
progressbar_V->setParent(this);
progressbar_V->setMinimum(0);
progressbar_V->setMaximum(5);
progressbar_V->setValue(3);
progressbar_V->setStyleSheet("QProgressBar{ border: solid grey; border-width: 6; border-radius: 12; color: black; text-align: centre; margin-right: 12; }, QProgressBar::chunk:vertical {background-color: #05B8CC; width: 20px;}");
progressbar_V->setGeometry(250,250,60,300);
progressbar_V->setOrientation(Qt::Vertical);

进度条文本也位于输出的顶部。如何将其置于垂直进度条的中间

2 个答案:

答案 0 :(得分:0)

您需要将样式表更改为以下内容:

  

progressbar_V-> setStyleSheet(" QProgressBar {border:solid grey; border-bottom-right-radius:12px; border-bottom-left-radius:12px; color:black; text-align:center; },QProgressBar :: chunk {background-color:#05B8CC; border-bottom-right-radius:7px; border-bottom-left-radius:7px;}");

快乐的编码..

答案 1 :(得分:0)

你说得对,你可以使用这个参数:

border-radius: 50px;

获得圆形边界! 但是你刚刚忘记在最后指定px 〜( ̄▽ ̄〜)

所以,一旦你的代码被更新,它看起来像这样:

progressbar_V->setStyleSheet("QProgressBar{ border: solid grey; border-width: 6; border-radius: 12px; color: black; text-align: centre; margin-right: 12; }, QProgressBar::chunk:vertical {background-color: #05B8CC; width: 20px;}");

希望能帮到你,祝你有个美好的一天ヾ( ̄▽ ̄)Bye~Bye~