QT自定义不规则按钮不显示,求大神解答

qq_17280179 2016-01-21 07:34:56

ui->pushButton->resize(500,500);

// QBitmap bit;//采用位图,显示的图像不是正常图像
// bit.load(":/new/prefix1/201409091359143092.bmp");
// ui->pushButton->setMask(bit);
QPixmap pix;//这种方式直接不显示
pix.load(":/new/prefix1/201409091359143092.png");
ui->pushButton->setMask(pix.mask());


如上的代码,如果是pixmap,按钮上的图片根本就不显示,后来采用了bmp格式的文件,图像是显示了,也有不规则效果,可是图片的颜色变化了。
变成了这样:

而我实际的图片是这样:

求解,表示官方的代码和网上的代码也都是这样,为毛我这个不行。
...全文
443 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pslov 2016-01-21
  • 打赏
  • 举报
回复
引用 2 楼 qq_17280179 的回复:
[quote=引用 1 楼 pslov 的回复:] 具体的我也不太懂,但我一般这样设置: QPixmap pix pix.load(":/new/prefix1/201409091359143092.png"); ui->pushButton->setFixedSize(pixmap.size()); ui->pushButton->setMask(pix.mask()); 再设置背景图片, ui->pushbutton->setstylesheet(”background-image: url(:/new/prefix1/201409091359143092.png)“);
感谢,我明白你的意思。可是我的要求是这样的:比如上图的一张图片,我要其中的图画,也就是不规则的部分做为按钮的形状。我发现这样定制窗口是可以实现的,可是放到按钮上就不行了。包括你刚刚的代码,setmask那句注释掉也没有影响,真心不知道按钮的setmask怎么用了。[/quote]我这样设置按钮,按钮是不规则的,不知道为什么你的不行,是不是图片的问题?图片周边应该是透明的才行吧,只能这样猜测
qq_17280179 2016-01-21
  • 打赏
  • 举报
回复
引用 1 楼 pslov 的回复:
具体的我也不太懂,但我一般这样设置: QPixmap pix pix.load(":/new/prefix1/201409091359143092.png"); ui->pushButton->setFixedSize(pixmap.size()); ui->pushButton->setMask(pix.mask()); 再设置背景图片, ui->pushbutton->setstylesheet(”background-image: url(:/new/prefix1/201409091359143092.png)“);
感谢,我明白你的意思。可是我的要求是这样的:比如上图的一张图片,我要其中的图画,也就是不规则的部分做为按钮的形状。我发现这样定制窗口是可以实现的,可是放到按钮上就不行了。包括你刚刚的代码,setmask那句注释掉也没有影响,真心不知道按钮的setmask怎么用了。
pslov 2016-01-21
  • 打赏
  • 举报
回复
具体的我也不太懂,但我一般这样设置: QPixmap pix pix.load(":/new/prefix1/201409091359143092.png"); ui->pushButton->setFixedSize(pixmap.size()); ui->pushButton->setMask(pix.mask()); 再设置背景图片, ui->pushbutton->setstylesheet(”background-image: url(:/new/prefix1/201409091359143092.png)“);

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧