C++ 在富格文本中使图像变灰
在Qt中,您可以在QLabels中使用富文本:C++ 在富格文本中使图像变灰,c++,qt,C++,Qt,在Qt中,您可以在QLabels中使用富文本: QLabel* label = new QLabel("<img src=C:/img.png> In front of this text, theres an image"); label->show(); 现在的问题是,只有文本通过禁用变灰,图像才会保持不变 如何灰显富文本中包含的图像 编辑以回答以下评论: 用另一个灰色版本的图像交换图像确实有效,尽管我曾希望有一个通用的解决方案。 摘自: #颜色 { 背景色:红色;
QLabel* label = new QLabel("<img src=C:/img.png> In front of this text, theres an image");
label->show();
现在的问题是,只有文本通过禁用变灰,图像才会保持不变
如何灰显富文本中包含的图像
编辑以回答以下评论: 用另一个灰色版本的图像交换图像确实有效,尽管我曾希望有一个通用的解决方案。 摘自:
#颜色
{
背景色:红色;
}
#灰度1
{
滤镜:灰度(100%);
}
#灰度2
{
不透明度:0.4;
过滤器:α(不透明度=40);
}
红色背景色起作用(就像测试一样)。
灰度1/灰度2不适用:(如果你有两个版本的图标,并将其设置为灰色,同时禁用标签,该怎么办?Yhea,我不认为你可以,而vahancho idée是最好的解决方法。更改图像确实有效,尽管我曾希望有一个通用的解决方案。对问题添加了一个编辑。用矩形覆盖整个内容并设置背景色使用rgba opacity,您是否可以使用两个QLabel,一个加载了图像,另一个附带了文本?然后,您可以使用setPixmap并拥有一个用于任何图像的QImage。另一个QLabel可以使用正常的setEnabled(false)灰显;
label->setEnabled(false);
<style>
#color
{
background-color: red;
}
#grayscale1
{
filter: grayscale(100%);
}
#grayscale2
{
opacity: 0.4;
filter: alpha(opacity=40);
}
</style>
<div id="color">
<div id="grayscale1">
<img src="C:/img.png" />
</div>
</div>