社区
Qt
帖子详情
关于QPixmap的setMask和mask(遮罩问题)
myseemydog
2012-02-09 08:45:13
QPixmap用的是jpeg的图片。无背景色透明、
想实现遮罩。即把背景那一部分给遮住就行
奈何用做不规则Button的方法,setMask和mask不起作用啊。、。。
求解。。
各位大神帮忙~~
叫我用PNG的就算了。。。。。
...全文
1327
6
打赏
收藏
关于QPixmap的setMask和mask(遮罩问题)
QPixmap用的是jpeg的图片。无背景色透明、 想实现遮罩。即把背景那一部分给遮住就行 奈何用做不规则Button的方法,setMask和mask不起作用啊。、。。 求解。。 各位大神帮忙~~ 叫我用PNG的就算了。。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pzhuyy
2012-02-10
打赏
举报
回复
也遇到同样的问题,用圆角按钮时,四个角仍有显示。不透明。
念茜
2012-02-10
打赏
举报
回复
setMask不起作用么?最后如何处理的呢
myseemydog
2012-02-10
打赏
举报
回复
来人。。。结贴给分。。。。
myseemydog
2012-02-10
打赏
举报
回复
上班的大神赶紧来看看~
myseemydog
2012-02-10
打赏
举报
回复
[Quote=引用 4 楼 pzhuyy 的回复:]
也遇到同样的问题,用圆角按钮时,四个角仍有显示。不透明。
[/Quote]
内存不吃紧,就用png的图片吧。做背景透明就ok了
myseemydog
2012-02-10
打赏
举报
回复
[Quote=引用 3 楼 yiyaaixuexi 的回复:]
setMask不起作用么?最后如何处理的呢
[/Quote]
setmask确实没起作用~~~mask返回的和原来图片一样大小的遮盖。
有什么方法把背景图的颜色设置下(RGB)么?
pyqt5 随笔:对蒙版
遮罩
mask
,
set
mask
的理解
pyqt5 随笔:对蒙版
遮罩
mask
,
set
mask
的理解 1.理解
mask
()和
set
mask
()一般是在pyqt绘图时常见,而且在显示不规则图形时更是常见。 参考书籍上说:
set
Mask
()函数的作用是为调用它的控件增加一个
遮罩
,遮住所选区域以外的部分,使控件看起来是透明的。它的参数可以是一个QBit
map
对象或一个QRegion对象。 其实书上说的不错,可惜我的理解能力达不到啊???? 接下来说说我的理解 当
set
mask
()添加的
遮罩
蒙版是QBit
map
对象(就是黑白图片)时,和PS的蒙版
qt编写的
mask
遮罩
的半透明涂抹功能
工具功能如下: 1.可控制
遮罩
绘制时候是起始和终止点是矩形还是圆形 2.可控制
遮罩
颜色,用户自定义 3.可控制
遮罩
线条粗细,1~150像素范围内 4.可控制
遮罩
当前是绘图还是移动图片模式 5.添加橡皮擦功能 6.release模式下,20M以内的图绘制和移动不会卡顿 运行效果如下: 实现该功能的方法主要是通过
QPix
map
::
set
Mask
()来实现的,需要源码的可以联系我 ......
不规则窗体
set
Mask
()
Qt建立的窗体大多数是方形的,有时需要圆形、椭圆形等不规则的对话框。
set
Mask
()函数为窗体设置
遮罩
,实现不规则窗体。设置
遮罩
后的窗体尺寸依然是原窗体的大小,只是被
遮罩
的地方不可见。 实例+代码及详细注释.
PYQT5(27)-图形和特效-不规则窗口的显示
QWidget类中比较重要的绘图函数
set
Mask
(self, QBit
map
)
set
Mask
(self, QRegion)
set
Mask
()的作用是为调用它的控件增加一个
遮罩
,遮住所选区域以外的部分,使之看起来是透明的。它的参数可以为QBit
map
或QRegion对象,此处调用
QPix
i
map
的
mask
()函数获得图片自身的
遮罩
,是一个QBit
map
对象。在示例中使用的是PNG格式的图片,它的透明部分实际上就是一个
遮罩
paintEvent(self, QPaintEvent)
QT使用图片为窗口设置
遮罩
,创建不规则形状的窗口
准备一张透明背景色的图片,将图片添加到qt的资源文件中 2.使用
QPix
map
加载图片,设置窗口的大小为图片的大小,并为窗口设置
遮罩
QPix
map
pix; //加载图片 pix.load(":/image/yafeilinux.png"); //设置窗口大小为图片大小 resize(pix.size()); //为窗口设置
遮罩
set
Mask
(pix.
mask
()); 重写绘图事件将图片绘制在窗口上 void Widget::pai.
Qt
16,203
社区成员
26,591
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章