当我运行以下代码时,我是Qt的初学者,我遇到了这些错误:
- no void MainWindow :: mousePressEvent(QMouseEvent * f)在类'mainwindow'中声明的成员函数。
- no void void MainWindow :: paintEvent(QPaintEvent * e)成员函数在类'mainwindow'中声明。
代码写在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();
}
答案 0 :(得分:0)
标题应为:
protected:
void mousePressEvent(QMouseEvent *f);
void paintEvent(QPaintEvent *e);
并包括:
#include <QMouseEvent>
#include <QPaintEvent>
此外,您应该在mainwindow.cpp
(paintEvent
和其他成员函数)中编写代码。如果您将有许多课程,那么您的main.cpp
可能非常难以理解。