• 9290阅读
  • 4回复

qt中可以使控件透明而字体不透明 [复制链接]

上一主题 下一主题
离线bander_xie
 
只看楼主 倒序阅读 楼主  发表于: 2006-07-26
qt中可疑使控件透明而控件中的字体不透明吗?
[ 此贴被XChinux在2006-07-26 23:05重新编辑 ]
离线igoo
只看该作者 1楼 发表于: 2006-07-26
这个问题比较有意思

给你一个方法:
得到窗口的背景色,用这个背景色对窗体设置mask就可以了

如果是控件的话,设置控件的背景色就行了,我觉得,这就更简单了
具体的自己去试试吧
离线bander_xie
只看该作者 2楼 发表于: 2006-07-26
我是要使控件透明,而且我试过设置控件的背景色,但是背景设置中并不能设置其为透明,大虾们可以再详细
教一下吗
离线igoo
只看该作者 3楼 发表于: 2006-07-27
QSize sz= ui.pushButton->size();
   QBitmap bm(sz);
   bm = QBitmap::grabWidget(ui.pushButton);
   ui.pushButton->setMask(bm);

基本原理是:因为字体是黑色的,像素值是0,当用自己对自己设置mask的时候,还能显示,但是
别的颜色就不显示了(我自己都不是很懂,只能这么理解)

更高级的你去研究qpixmap的alpha通道之类的去吧,alpha通道就是透明通道
离线tomtubo
只看该作者 4楼 发表于: 2008-12-09
同问。。。。
快速回复
限100 字节
 
上一个 下一个