我是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.
你能说出我犯错误的地方吗?为了上课,我按照这个视频
我想,"C1083:无法打开包含文件:'imageaction.h':没有这样的文件或目录"来自你的ui _*.h文件的错误.如果是这种情况,您的问题是重新启动imageaction小部件.
This may work
1. while promoting imageaction widget, uncheck "globalinclude".
     or
2. Update pro file with "INCLUDEPATH += path where mywidget.h"
请检查更多信息促销小工具
小智 6
对于 CMake,它需要包含要使用的目录路径。在 CMakeLists 中,这可以通过包含目录指令来完成。例如:
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
如果头文件位于单独的包含文件夹中,则应将其写入 CMakeLists 中:
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
| 归档时间: | 
 | 
| 查看次数: | 4341 次 | 
| 最近记录: |