QMenu图标背景颜色

时间:2017-07-15 15:59:46

标签: c++ qt qtstylesheets qmenu

我正在尝试将自定义QSS样式应用于菜单,但所选菜单项中的图标具有不透明的背景颜色。我怎样才能让它变得透明?

截图

QMenu
{
    padding: 0.1em;
    border: 0.05em solid #1f2530;
    background-color: #343b49;
}

QMenu::item
{
    color: #ededed;
    selection-background-color: #1f2530;
}

1 个答案:

答案 0 :(得分:1)

最好用Photoshop自定义(使图像透明),然后在项目中使用它。

无论如何,您可以使用此代码填充图像的某些像素:

QImage myImage;
myImage.load("D:/1.jpeg");
myImage = myImage.convertToFormat(QImage::Format_ARGB32);
for(int i = 0; i < 100; i++)
    for(int y = 0; y < 100; y++)
         myImage.setPixel(i,y,qRgba(0, 0, 0, 0));
myImage.save("D:/2.jpeg");

使用QImage加载图像,转换图像格式,填充一些像素,最后保存图像。