我想在
QLineEdit中做一个输入搜索功能,并且在
没有输入的时候在lineEdit中
显示提示内容例如这样子

我实现的代码如下
重写QLIneEdit:
InputLineEdit::InputLineEdit(QString&tips,QWidget *parent) :
QLineEdit(parent)
{
Tips=tips;
this->setText(tips);
}
void InputLineEdit::focusInEvent(QFocusEvent *e)
{
if(this->text()==Tips)
{
this->setText("");
}
this->setFocus();
}
void InputLineEdit::focusOutEvent(QFocusEvent *e)
{
if(this->text().isEmpty())
{
this->setText(Tips);
}
}
调用的代码:
QString str="请输入盒子编号";
lineEdit=new InputLineEdit(str,ui->widget_search);
调用这个信号和槽的功能是每输入一个就触发搜索出于LineEdit对应的内容显示
connect(lineEdit,SIGNAL(textChanged(QString)),this,SLOT(LineEditTextChang(QString)));
出现的
问题如下:
刚开始的时候我一点击LineEdit的是提示内容清除,光标不出来,要双击才出来还不闪烁,输入一个
文本才闪烁,然后失去焦点的时候提示文本的内容显示在LineEdit中,但是有触发了上面槽的内容,我想提示的内容不能触发这个槽,是不是我用的方法错了,请指教。