Qt中如何改变QProgressBar中进度条的颜色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中如何改变QProgressBar中进度条的颜色?相关的知识,希望对你有一定的参考价值。

编程软件是Qt4.5.2吧

如题,希望是自己会的,然后告诉我该怎么做,因为baidu和google上的关于QProgressBar的网页我几乎都浏览过了,没啥收获~

我想要的是这样的结果:
进度条的range是0~100
然后当value在0~40的时候,进度条显示红色
0~80的时候,进度条显示黄色
80~100的时候,进度条显示蓝色。

怀疑问题有些难度,所以如果能解决,补加能加的最高分,说到做到,呵呵。谢谢各位了。
请教1楼,哪里可以看到关于setStyleSheet的文档?我在assistant里的QProgressBar内找不到setStyleSheet的函数啊~

  Qt中改变QProgressBar中进度条的颜色方法如下:

  QProgressBar 
   border: 2px solid grey;
   border-radius: 5px;
   background-color: #FFFFFF;


QProgressBar::chunk 
   background-color: #05B8CC;
   width: 20px;


QProgressBar 
   border: 2px solid grey;
   border-radius: 5px;
   text-align: center;

参考技术A 很简单哈

用这个setStyleSheet成员函数轻松搞定

手册不是写的很清楚么本回答被提问者采纳

如何在 QT 中获得具有圆形边缘和圆形进度边缘的 QProgressBar?

【中文标题】如何在 QT 中获得具有圆形边缘和圆形进度边缘的 QProgressBar?【英文标题】:How to get a QProgressBar in QT with rounded edges and rounded progress edges? 【发布时间】:2016-03-17 23:20:32 【问题描述】:

我创建了一个垂直进度条,并尝试使用圆角设置它的样式。无论我做什么,我似乎都无法获得带有圆角边缘的进度条(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);

进度条文本也在输出的顶部。我如何将它放到垂直进度条的中间

【问题讨论】:

文本对齐:居中; --> 文本对齐:居中; 不确定这是否能解决任何问题,但您的样式表中有一个逗号:, QProgressBar::chunk:vertical ...。删除那个逗号。 【参考方案1】:

你是对的,你可以使用这个参数:

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~

【讨论】:

【参考方案2】:

你需要把你的样式表改成这样:

progressbar_V->setStyleSheet("QProgressBarborder:solid gray;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;");

编码愉快..

【讨论】:

以上是关于Qt中如何改变QProgressBar中进度条的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QT 中获得具有圆形边缘和圆形进度边缘的 QProgressBar?

QT软件开发之基础控件--2.5.2 QProgressBar进度条

Qt中progressbar进度的颜色和背景色怎么设置

QprogressBar怎么显示读取文件进度

在 Qt 中禁用进度条动画

QT中可以用QProgressBar或着QProgressDialog来实现进度条