• 12687阅读
  • 11回复

[提问]QToolTip控件背景填充问题 [复制链接]

上一主题 下一主题
离线woo_fight
 

只看楼主 倒序阅读 楼主  发表于: 2012-05-09
想将QToolTip控件背景用一种颜色填充,用QToolTip::setPalette()的,可是能改变字体颜色,不能改变背景颜色。。。
    palette.setColor(QPalette::ToolTipBase,color);
  palette.setColor(QPalette::ToolTipText,color);
    palette.setColor(QPalette::ToolTipBase,color);
QColor color(12, 255, 168, 255);palette.setColor(QPalette::ToolTipBase,color);   palette.setColor(QPalette::ToolTipText,color);    tooltip->showText(w.pos(),"123"); tooltip->setPalette(palette);
第一句代码没有使背景颜色变掉,求大神指点






离线benbenmajia

只看该作者 1楼 发表于: 2012-05-09
你看看tootipBase是指的哪块区域?
安然.....
离线passion_wu
只看该作者 2楼 发表于: 2012-05-09
为什么不用更强大的stylesheet呢?可以参考example的stylesheet例子。还有stylesheet的文档。
离线woo_fight

只看该作者 3楼 发表于: 2012-05-11
回 2楼(passion_wu) 的帖子
谢谢您的回答,样式我也试过,背景颜色是能改,可是没有出我最想要的透明效果,

    .qss文件中:
QToolTip {
    border: 2px solid darkkhaki;
    padding: 5px;
    border-radius: 3px;
    opacity: 200;
    background-color: transparent;


}

出不了透明效果
离线passion_wu
只看该作者 4楼 发表于: 2012-05-11
你试试background: rgba(r, g, b, a);
括号中的值,需要你自己设定。
离线woo_fight

只看该作者 5楼 发表于: 2012-05-11
回 1楼(benbenmajia) 的帖子
QPalette::ToolTipBase:提示符背景色。
离线woo_fight

只看该作者 6楼 发表于: 2012-05-11
回 2楼(passion_wu) 的帖子
不是出不了效果,是黑色的。。。会覆盖其他图片~~~~
离线roywillow

只看该作者 7楼 发表于: 2012-05-11
回 6楼(woo_fight) 的帖子
改调色板的话,你确定改了正确的条目?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线benbenmajia

只看该作者 8楼 发表于: 2012-05-11
void QToolTip::setPalette ( const QPalette & palette ) [static]
Sets the palette used to render tooltips.
Note: Tool tips use the inactive color group of QPalette, because tool tips are not active windows.
This function was introduced in Qt 4.2.
See also palette().
安然.....
离线woo_fight

只看该作者 9楼 发表于: 2012-05-15
回 4楼(passion_wu) 的帖子
不是背景尺寸的原因,方处理过的图片透明就是黑的
这个图片处理过的,是透明的,但是用样式设置透明后旁边的白的就变黑了,
样式:    
   border: 1px solid transparent;
     padding: 1px;
     border-radius: 1px;
     opacity: 200;
     border-image: url(C:/Users/wbb/Desktop/Pad Navigator1/dialog.png) ;
     background-color: transparent;
     ground-color : transparent;
离线woo_fight

只看该作者 10楼 发表于: 2012-05-15
Re:回 4楼(passion_wu) 的帖子
引用第9楼woo_fight于2012-05-15 09:23发表的 回 4楼(passion_wu) 的帖子 :
不是背景尺寸的原因,方处理过的图片透明就是黑的
[图片]这个图片处理过的,是透明的,但是用样式设置透明后旁边的白的就变黑了,
样式:    
   border: 1px solid transparent;
     padding: 1px;
.......


上面那个图是win7下的筱图标,实际的图是透明的~~我确认过的
离线woo_fight

只看该作者 11楼 发表于: 2012-05-17
回 4楼(passion_wu) 的帖子
QColor::QColor ( int r, int g, int b, int a = 255 )

中如果透明度参数(a)传0的话是完全透明,传255的话是本来颜色,再往上加就是黑色了。

在样式stylesheet当中你试试background: rgba(r, g, b, a); 同样传 a 参数,0是黑色的,255和Qcolor一样,再往上也是黑色。

我想问问他们的区别,传0都是完全透明?为什么样式中传0是黑色?
快速回复
限100 字节
 
上一个 下一个