为 QProgressBar 上的图像设置着色

Posted

技术标签:

【中文标题】为 QProgressBar 上的图像设置着色【英文标题】:Color the Image setting on QProgressBar 【发布时间】:2016-09-20 09:34:11 【问题描述】:

实际上我在QProgressBar 上设置了一个图像,并想根据QProgressBar 的选定部分更改图像的颜色。

我尝试用QProgressBar 颜色覆盖我的图像,但这会填充图像,但由于我的图像不是矩形,它会为整个QProgressBar 着色,而不仅仅是图像。

是否可以仅使用 qt(使用 C++)更改图像颜色

【问题讨论】:

你是如何在QProgressBar上设置图片的? 实际上我使用 QLabel 设置图像。将 QLabel 放在 QProgressBar 上。 【参考方案1】:

您正在寻找Qt Style Sheet Documentation。您可以自定义自己的 QProgressBar,并添加您自己的 setProgress() 函数,该函数应该更新 value property。您可以根据当前值的值修改图像背景、边框、边距。

更多详情请参阅 QSS 示例:Example Style Sheet

【讨论】:

其实我不是在找StyleSheet。我是在找一种方法,根据QProgressbar上的选择来给图片设置颜色。需要注意的是,图片是在QProgressBar上设置的。 这是错误的,请修复它。 QProgressBar 中没有名为 setProgress 的函数。如果你的意思是setValue,它不是你需要重写的虚函数,即使你真的必须重写,它确实与样式有关。请尝试阅读您提供的link。

以上是关于为 QProgressBar 上的图像设置着色的主要内容,如果未能解决你的问题,请参考以下文章

GPU 上的图像处理 - 过滤器的连续着色器 - FBO

GPU上的纹理图像处理?

QProgressBar 忙不工作

如何动态设置 QProgressBar 样式表?

纹理上的片段着色器

(转载)(官方)UE4--图像编程----着色器开发