• 10404阅读
  • 8回复

关于设置pushButton样式表,outset和inset的问题,解决 [复制链接]

上一主题 下一主题
离线iiiyyyhhhsss
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-21
我想把pushbutton样式效果设为:当鼠标离开后,pushbutton透明且没有边框;当hover的时候,pushbutton有凸起效果;当按下的时候,有凹下去的效果

我写了如下代码,border-none效果出来了,但是outset和inset的效果没有出来

pushButtonPrevious->setStyleSheet("QPushButton#pushButtonPrevious{border:none}"
                                                   "QPushButton#pushButtonPrevious:hover{border-style: outset}"
                                                   "QPushButton#pushButtonPrevious:hover:pressed{border-style: inset}");

然后我写了以下代码,三个效果都出来了。。

pushButtonPrevious->setStyleSheet("QPushButton#pushButtonPrevious{border:none}"
                                                   "QPushButton#pushButtonPrevious:hover{background-color:rgb(255,255,255,100)}"
                                                   "QPushButton#pushButtonPrevious:hover:pressed{background-color:rgb(0,0,0,50)}");

关于我第一个代码,为什么outset和inset效果没有出来呢?
[ 此帖被iiiyyyhhhsss在2009-10-15 15:17重新编辑 ]
离线iiiyyyhhhsss

只看该作者 1楼 发表于: 2009-09-21
是不是我第一个的代码错了?
如果错的,如何改正?

第二个代码我验证过是成功的了。。。
离线iiiyyyhhhsss

只看该作者 2楼 发表于: 2009-09-21
真的没有人做过这种按钮吗?
hover的时候凸起,pressed的时候凹下,离开的时候变为flat。。。
离线iiiyyyhhhsss

只看该作者 3楼 发表于: 2009-09-21
根据它上面说的,QPushButton默认是没有border的,但是实际上默认是有的。

而且只要我在stylesheet里设置涉及border-style的,border全部变没有了,怎么设border-style也不会再出现border

就是说只要一设置涉及border-style,它就会自动设为border-style : none。

这个真奇怪
离线wd007

只看该作者 4楼 发表于: 2009-09-21
样式表的东东,只能一点一点的摸索了,比较繁杂。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线iiiyyyhhhsss

只看该作者 5楼 发表于: 2009-10-15
终于解决了,
楼上正解!
以下代码得到了我想要的效果

QPushButton#pushButton:!hover{border:none;background-color:rgb(255,255,255,0);}
QPushButton#pushButton:hover{background-color:rgb(255,255,255,0)}
QPushButton#pushButton:pressed{background-color:rgb(2555,55,255,0)}
离线wsszlj

只看该作者 6楼 发表于: 2009-10-16
样式表 功能是很强大的
离线wd007

只看该作者 7楼 发表于: 2009-11-11
呵呵,楼主实践出真知,顶一下。

我最近也在研究样式表
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线jdwx

只看该作者 8楼 发表于: 2012-03-19
这个功能有现成的,QToolButton,将属性autoraise = true。


楼上的,非要在这里弄广告吗!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个