我希望在我的 QT 应用程序中有一个具有其图标图像形状的按钮。我正在尝试通过使用 alpha channel 从使用的图像 (.png) 获取蒙版来设置按钮蒙版。
以下是感兴趣的代码行:
QPushButton button();
QPixmap pixmap("image_path.png");
QIcon icon(pixmap);
button.setIcon(icon);
button.setMask(pixmap.createMaskFromColor(Qt::transparent,Qt::MaskInColor));
结果是按钮消失了!
通过一些测试,我确定掩码创建正确,错误在哪里?
最佳答案
如果你像这样使用带有 alpha 的 .png :
您可以像这样将其形状设置为 mask :
QPushButton button;
button.resize(50,50);
button.show();
QPixmap mask("D:/shape.png");
button.setMask(mask.mask());
你会得到这样的结果:
关于c++ - 设置 Qt Widget 掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11845872/