当前位置: 代码迷 >> QT开发 >> QLineEdit 控件当鼠标单击其中一下,就触发一信号,如何写
  详细解决方案

QLineEdit 控件当鼠标单击其中一下,就触发一信号,如何写

热度:659   发布时间:2016-04-25 03:19:27.0
QLineEdit 控件当鼠标单击其中一下,就触发一信号,怎么写?
QLineEdit 控件是空白的,准备输入,当鼠标单击其中一下,进行输入,还没让其中内容变化,就触发一信号,怎么写?
不能用textChange () 发信号,这样是要求至少输入一个字母才触发事件,要在单击进入QLineEdit 控件时,还没有输入就触发。
------解决方案--------------------
你要自己重写 QLineEdit 吗?据我了解目前没有这样的信号发出。如果你重写 QLineEdit ,可以重写 event() 函数,当事件类型是QEvent::FocusIn 时发射一个你自己定义的信号出来,比如 gainFocus() 。这样就可以了。还有一种办法是重写 mousePressEvent,在它里面发出 gainFocus() 信号。

CSDN博文大赛,请投我一票,谢谢。
Qt on Android: Qt Quick 事件处理之信号与槽
------解决方案--------------------
重写一下QLineEdit ,重写focusInEvent
------解决方案--------------------
focusIn Event
------解决方案--------------------
1楼正解,在事件过滤器中拦截FocusIn事件,然后就可以做你想做的了