如何将鼠标事件添加到QLineEdit

时间:2012-01-02 12:42:53

标签: qt

我正在使用QLineEdit来搜索包含文本的特定模式:默认情况下“输入搜索模式”。那么,当我点击LineEdit上的任何地方时,如何清除QLineEdit? 提前谢谢......

1 个答案:

答案 0 :(得分:1)

没有必要自己实现,因为该功能已经存在:使用QLineEdit::setPlaceholderText(Qt 4.7及以上版本):

QLineEdit* le = new QLineEdit;
...
le->setPlaceholderText(tr("Enter the search pattern"));

如果行编辑为空并且没有焦点,则会显示占位符文本。

对于较旧的Qt版本,可以通过重新实现focusInEvent和focusOutEvent来实现该功能(focusIn:清除占位符文本; focusOut:恢复它)。如果项目允许,我强烈建议升级到最近的Qt版本。