求助Qt事件过滤器eventFilter问题,急!!!
第一次发帖,希望大神指教啊!
我想用事件过滤器实现鼠标进入按键显示lineEdit,鼠标移出按键,lineEdit消失。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
init();
ui->lineEdit->setText("ff");
ui->lineEdit->hide();
}
MainWindow::~MainWindow()
{
delete ui;
// ui->pushButton->hi
}
void MainWindow::init()
{
//为按钮注册事件
ui->pushButton->installEventFilter(this);
ui->pushButton_2->installEventFilter(this);
ui->label->installEventFilter(this);
}
bool MainWindow::eventFilter(QObject *target, QEvent *e)
{
if(target == ui->pushButton)
{
if(e->type() == QEvent::Enter);
ui->lineEdit->setText("这是第一个按钮");
ui->lineEdit->show();
}
if(target == ui->pushButton_2)
{
if(e->type() == QEvent::Enter);
ui->lineEdit->setText("这是第二个按钮");
ui->lineEdit->show();
}
if(target == ui->label)
{
if(e->type() == QEvent::Enter)
ui->lineEdit->setText("这是第二个按钮");
}
return QWidget::eventFilter(target, e);
}
为什么我的主界面一出现,lineEdit就显示,并出现“这是第二个按钮”?这时我还没有在主界面进行任何滑动,难道Qt默认滑过一个按键?(滑动过别的按键,lineedit会正常变化内容)