首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

如何实现QLabel或者QLineEdit得到焦点时背景色闪烁

2012-11-07 
怎么实现QLabel或者QLineEdit得到焦点时背景色闪烁本人最近在做的界面,有些输入控件,需要友好的显示给用户

怎么实现QLabel或者QLineEdit得到焦点时背景色闪烁
本人最近在做的界面,有些输入控件,需要友好的显示给用户,达到的效果是:

用户点击某个QLabel或者QLineEdit之后,QLabel/QLineEdit就会背景色开始闪烁,比如白色红色交替闪烁,提示用户输入,这个要怎么实现呢?想了很久,我个人没想到好的解决办法,不晓得各位有啥方法呢?

我目前只实现到重写了QLineEdit的focusInEvent(QFocusEvent *e)方法,给QLineEdit背景色改变下,但是效果是得到焦点变色,并没有闪烁,现在就是想怎么能获得焦点后两个背景颜色交替闪烁起来呢?

更深入一点的是,如果用户输入的数据偏小或者有问题,输入的内容也闪烁,这个都要如何去实现?

有人可以提供些思路或者好办法么?谢谢!

[解决办法]
TS,使用定时器在事件里面完成背景色改变
[解决办法]

C/C++ code
CLineEdit::CLineEdit(QWidget *parent)    : QLineEdit(parent){    m_timer.setInterval(400);    connect(&m_timer, SIGNAL(timeout()), this, SLOT(onTimer()));}void CLineEdit::onTimer(){    setStyleSheet(styleSheet().isEmpty() ? "background-color: red" : "");}void CLineEdit::focusInEvent(QFocusEvent *){    m_timer.start();}void CLineEdit::focusOutEvent(QFocusEvent *){    m_timer.stop();    setStyleSheet("");} 

热点排行