Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在富格文本中使图像变灰_C++_Qt - Fatal编程技术网

C++ 在富格文本中使图像变灰

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(); 现在的问题是,只有文本通过禁用变灰,图像才会保持不变 如何灰显富文本中包含的图像 编辑以回答以下评论: 用另一个灰色版本的图像交换图像确实有效,尽管我曾希望有一个通用的解决方案。 摘自: #颜色 { 背景色:红色;

在Qt中,您可以在QLabels中使用富文本:

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>