我是Qt的新手,而且在C ++方面也没有那么多经验。
我创建了简单的Qt GUI应用程序,但后来我必须在mousepressevent
类型对象上添加QLabel
函数,因此我创建了具有以下代码的头文件的类:
#ifndef IMAGEACTION_H
#define IMAGEACTION_H
#include <QLabel>
#include <QMouseEvent>
#include <QDebug>
#include <QEvent>
class imageaction : public QLabel
{
Q_OBJECT
public:
explicit imageaction(QWidget *parent = 0);
void mousePressEvent(QMouseEvent *ev);
signals:
void Mouse_Pressed();
public slots:
};
#endif // IMAGEACTION_H
.cpp
文件包含以下代码:
#include "imageaction.h"
imageaction::imageaction(QWidget *parent) :
QLabel(parent)
{
}
void imageaction::mousePressEvent(QMouseEvent *ev)
{
emit Mouse_Pressed();
}
在mainwindow.cpp
文件中添加了行#include "imageaction.h"
以包含头文件,在.pro
文件中还添加了以下行:
SOURCES += main.cpp\
mainwindow.cpp \
imageaction.cpp
HEADERS += mainwindow.h \
imageaction.h
但程序总是会出现以下错误:
C1083: Cannot open include file:'imageaction.h': No such file or directory
。
你能说出我犯错的地方吗?为了完成这门课,我遵循了这个video
答案 0 :(得分:6)
我认为,“C1083:无法打开包含文件:'imageaction.h':没有这样的文件或目录”来自你的ui _ * .h文件的错误。如果是这种情况,您的问题是重新启动促进图像操作小部件。
This may work
1. while promoting imageaction widget, uncheck "globalinclude".
or
2. Update pro file with "INCLUDEPATH += path where mywidget.h"
请查看更多信息Promoting Widget