• 6435阅读
  • 6回复

[提问]qt如何实现一个控件获得焦点后它的背景色改变 [复制链接]

上一主题 下一主题
离线ke0307
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-29
关键词: 求助
qt如何实现一个控件获得焦点后它的背景色就改变啊,希望知道的大虾告诉我一下啊,谢谢啦
离线jdwx

只看该作者 1楼 发表于: 2012-05-29
回 楼主(ke0307) 的帖子
virtual void    focusInEvent ( QFocusEvent * event )得到焦点
virtual void    focusOutEvent ( QFocusEvent * event )失去焦点
重写这两个虚函数,改变类里面的一个bool变量(自己添加)
接着update();再有就是paintEvent里面画图了(根据bool变量)。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ke0307
只看该作者 2楼 发表于: 2012-05-29
回 1楼(jdwx) 的帖子
能够再详细一点或者给出一些源代码吗,还有就是,你告诉我的这个方法,你用过了吗,成功了吗
离线shiziyang

只看该作者 3楼 发表于: 2012-05-29
直接用qss就可以,对通常, hover, pressed,!enable,focus几个状态分别指定。
离线jdwx

只看该作者 4楼 发表于: 2012-05-29
回 2楼(ke0307) 的帖子
本方法绝对有使用过,没问题。
3楼的QSS也可以,但是本人还是喜欢paint。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ke0307
只看该作者 5楼 发表于: 2012-05-30
回 3楼(shiziyang) 的帖子
真的非常感谢你啊,我用你教给我方法做出来了,谢谢啊
离线ke0307
只看该作者 6楼 发表于: 2012-05-30
回 4楼(jdwx) 的帖子
谢谢你啊,我已经做出我想要的效果了,谢谢啊
快速回复
限100 字节
 
上一个 下一个