给qlineedit建立一个clicked的方式,我归结为有3种;
第一种:建立一个新类,继承父类控件,将控件里的函数进行重载,最后将返回事件的处理交会父类控件。
第二种:事件过滤器。(其实我也不太懂,小编还会继续研究的,有时间会将其解释出来)
第三种:以第一种的为基础,但是继承就算了。(只适合小规模的)
1)建立一个小的gui项目
2)在 ui 界面设立y一个qlineedit文本框
3)在 .h 头文件中,加入信号机制
signals:
void clicked();
4)在 .cpp 文件中的构造函数
ui->lineEdit->installEventFilter(this); //声明机制的存在
5)在 .h 头文件中重载eventFilter
protected:
bool eventFilter(QObject *obj, QEvent *e);
6)在 .cpp 文件中重写eventFilter
bool MainWindow::eventFilter(QObject *obj, QEvent *e)
{
if(obj == ui->lineEdit