Qt Creator 报错 moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::mouseDoubleClickEven

时间:2024-03-24 07:08:49

尝试按照《Qt5开发及实例》运行鼠标事件程序。报错。

moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::mouseDoubleClickEvent(QMouseEvent*)'

中文提示:找不到moc_mainwindows.cpp文件

Qt Creator 报错 moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::mouseDoubleClickEven

产生该问题的根本原因是:

在mainwindow.h文件中声明了 void mouseDoubleClickEvent(QMouseEvent *e);

但在对应的 mainwindow.cpp文件中并没有做对应的实现。

因此,应当在mainwindows.cpp文件中 做对应的实现,哪怕函数体内部啥也不写

void MainWindow::mouseDoubleClickEvent(QMouseEvent *e){}

 

另外,关于为什么没有对QMouseEvent *e进行实例化,像mousePressEvent ()方法也能够实现相应的操作:因为在父类中已经对这些方法进行了实现,在这里只是对它进行一个override,父类中会自动调用override的这些方法,并传入参数。