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

怎么用代码触发LineEdit的Hover效果

2013-01-22 
如何用代码触发LineEdit的Hover效果我在样式表里写好了LineEdit的Hover,Foucs时的各种样式,现在我想鼠标移

如何用代码触发LineEdit的Hover效果
我在样式表里写好了LineEdit的Hover,Foucs时的各种样式,现在我想鼠标移到其他控件上,触发LineEdit的Hover状态//或者,可以把Qlabel设置成不接受任何事件也可以。因为我的Label是放在LineEdit上面的,本来应该是鼠标移动到lable上时,也是在LineEdit的上方,本应触发LineEdit的Hover状态,但是由于Label的存在,lineEdit状态消失了。。。怎么解决
[解决办法]
有个enterEvent()..没装帮助。。可能不准。。
[解决办法]
直接实现恐怕很难
QLabel里有 void QWidget::enterEvent ( QEvent * event ) [virtual protected] 事件,你可以再内部的控件enterEvent触发的时候去设置LineEdit的Hover样式,然后再LineEdit的 void QWidget::leaveEvent ( QEvent * event ) [virtual protected] 事件中去设置LineEdit没有Hover的样式
[解决办法]

引用:
引用:直接实现恐怕很难
QLabel里有 void QWidget::enterEvent ( QEvent * event ) [virtual protected] 事件,你可以再内部的控件enterEvent触发的时候去设置LineEdit的Hover样式,然后再LineEdit的 void QWidget::l……

enterEvent是系统信息,操作系统发来的,鼠标不在控件上面,就没有信息,自己给lineedit发个enterEvent试试吧。
[解决办法]
当鼠标移动到LabeL的时候,激活LineEdit的HoverEvent.
[解决办法]
1) label和lineedit有没有父子关系 如果有的话 是子widget先捕获消息
2) 你用installEventFilter过滤下事件 如果label和lineedit是parent-child关系的话 就让其parent widget也就是lineEdit处理
  大概形式如下:
  bool eventFilter(*)
  {
    if ( event->type() == Qt::HoverEvent)
    {
       this->parent->hoverEvent(event);
       return ;
    }
  }
   在家里上网,没装qt,大概形式应该如上所述,你试试,看管用不?
[解决办法]
引用:
引用:引用:直接实现恐怕很难
QLabel里有 void QWidget::enterEvent ( QEvent * event ) [virtual protected] 事件,你可以再内部的控件enterEvent触发的时候去设置LineEdit的Hover样式,然后再Lin……

我是说鼠标停留在QLineEdit内部的QLabel上时,使用QLabel的enterEvent去修改QLineEdit的一些东西
[解决办法]
给你的控件截个图,说明一下要什么功能,从其他的地方想办法。

引用:
引用:1) label和lineedit有没有父子关系 如果有的话 是子widget先捕获消息
2) 你用installEventFilter过滤下事件 如果label和lineedit是parent-child关系的话 就让其parent widget也就是lineEdit处理
  大概形式如下:
  bool eventFilt……

[解决办法]
自定义一个QLabel类、然后重写enterEvent、在enterEvent中发送信号。
[解决办法]
这是一个button的类。。。
你自己改改就好了


#include "CustomButton.h"

CustomButton::CustomButton(QWidget * parent) :
    QPushButton(parent)
{
}
void CustomButton::enterEvent(QEvent *){
    emit  mouseEnter();
}
void CustomButton::leaveEvent(QEvent *){
    emit mouseLeave();
}
void CustomButton::focusInEvent(QFocusEvent *){
    emit focusIn();

}
void CustomButton::focusOutEvent(QFocusEvent *){


    emit focusOut();

}



热点排行