1

我想在我的 QT 应用程序中有一个图标图像形状的按钮。我正在尝试通过使用 alpha 通道从使用的图像 (.png) 中获取掩码来设置按钮掩码。

以下是感兴趣的代码行:

QPushButton button();
QPixmap pixmap("image_path.png");
QIcon icon(pixmap);
button.setIcon(icon);
button.setMask(pixmap.createMaskFromColor(Qt::transparent,Qt::MaskInColor));

结果是按钮消失了!

通过做一些测试,我确定掩码是正确创建的,错误在哪里?

4

1 回答 1

4


如果您使用像这样的带有 alpha 的 .png:
透明PNG
您可以将其形状设置为这样的蒙版:

QPushButton button;
button.resize(50,50);
button.show();

QPixmap mask("D:/shape.png");
button.setMask(mask.mask());

您将得到如下结果:
结果形状按钮

于 2012-08-09T08:42:44.017 回答