C++ 声明在Qt中鼠标事件ocurr时调用的函数
我是Qt的初学者,当我运行以下代码时,我发现以下错误:C++ 声明在Qt中鼠标事件ocurr时调用的函数,c++,qt,mouseevent,qpainter,C++,Qt,Mouseevent,Qpainter,我是Qt的初学者,当我运行以下代码时,我发现以下错误: 没有在类“MainWindow”中声明的void MainWindow::MousePresseEvent(QMouseEvent*f)成员函数 没有在类“MainWindow”中声明的void MainWindow::paintEvent(QPaintEvent*e)成员函数 代码写在main.cpp文件中,我没有在mainwindow.cpp或mainwindow.h Qt代码: #include <QtGui/QApplic
- 没有在类“MainWindow”中声明的void MainWindow::MousePresseEvent(QMouseEvent*f)成员函数李>
- 没有在类“MainWindow”中声明的void MainWindow::paintEvent(QPaintEvent*e)成员函数
main.cpp
文件中,我没有在mainwindow.cpp
或mainwindow.h
Qt代码:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QEvent>
#include <QMouseEvent>
#include <QPainter>
void MainWindow::mousePressEvent(QMouseEvent *f)
{
QPoint point=f->pos();
int y=1;
update();
}
void MainWindow::paintEvent(QPaintEvent *e)
{
int y;
QPoint point;
QPainter painter(this);
QPen linepen(Qt::red);
linepen.setCapStyle(Qt::RoundCap);
linepen.setWidth(30);
painter.setRenderHint(QPainter::Antialiasing,true);
painter.setPen(linepen);
if(y==1)
painter.drawPoint(point);
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#包括
#包括“mainwindow.h”
#包括
#包括
#包括
void主窗口::MousePresseEvent(QMouseEvent*f)
{
QPoint point=f->pos();
int y=1;
更新();
}
void主窗口::paintEvent(QPaintEvent*e)
{
int-y;
点;
油漆工(本);
QPen linepen(Qt::红色);
linepen.setCapStyle(Qt::RoundCap);
linepen.setWidth(30);
painter.setRenderHint(QPainter::抗锯齿,true);
画师:设置笔(线条笔);
如果(y==1)
绘制点(点);
}
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
主窗口w;
w、 show();
返回a.exec();
}
标题中的内容应为:
protected:
void mousePressEvent(QMouseEvent *f);
void paintEvent(QPaintEvent *e);
包括:
#include <QMouseEvent>
#include <QPaintEvent>
#包括
#包括
您还应该在main window.cpp
(paintEvent
,以及其他成员函数)中编写代码。如果您将有许多类,那么您的main.cpp
可能很难阅读