QPushButton默认为矩形,在将按钮样式设置为圆形后,圆形外原矩形区域默认依然是点击有效,因此需要将这一块区域设置成无法点击。


通过setMask方法设置QPixmap对象的.mask()方法
//设置按钮图标
QPixmap map(":/pic/icon0.png");
map = map.scaled(ui->pushButton->width(),ui->pushButton->height());
ui->pushButton->setIcon(map);
ui->pushButton->setIconSize(map.size());
//设置按钮图标外区域不可点击
ui->pushButton->setMask(map.mask());

这篇博客介绍了如何在Qt环境中将QPushButton样式改为圆形,并通过设置mask方法使按钮图标外的矩形区域变得不可点击。首先,通过加载图片并调整大小作为按钮图标,然后应用设置使得按钮的形状符合圆形图标。最后,利用QPixmap的mask方法来定义按钮的点击区域,确保只有圆形部分响应点击事件。

4302

被折叠的 条评论
为什么被折叠?



