我想在我的QT应用程序中有一个带有图标图像形状的按钮。我正在尝试通过使用alpha通道从使用过的图像(.png)中获取蒙版来设置按钮蒙版。
以下是感兴趣的代码行:
QPushButton button();
QPixmap pixmap("image_path.png");
QIcon icon(pixmap);
button.setIcon(icon);
button.setMask(pixmap.createMaskFromColor(Qt::transparent,Qt::MaskInColor));
结果是按钮消失了!
通过做一些测试,我确信掩码是正确创建的,错误在哪里?
答案 0 :(得分:4)
如果你像这样使用带有alpha的.png:
你可以将它的形状设置为这样的面具:
QPushButton button;
button.resize(50,50);
button.show();
QPixmap mask("D:/shape.png");
button.setMask(mask.mask());
你会得到如下结果: