Qt使用Cmake编译时自定义控件找不到的问题

问题描述

笔者为了利用QTableView的一些设置,减少相同的代码。于是想着写一个QTableView的子类MyTableView,没想到这一写出现了大问题。

cpp 复制代码
class MyTableView : public QTableView {
    Q_OBJECT
public:
    explicit MyTableView(QWidget *parent = nullptr);
    ~MyTableView();
};

写完之后,在UI编辑器,选择QTableView控件,提升为MyTableView,在CMakeLists.txt添加文件。

项目,右键构建,没想到出了大问题。

解决方案

找不到文件,大概是跟编译环境有关。加上下面两句,编译通过。如果是用qmake构造的项目,则没有这个问题。

bash 复制代码
set(SRC_DIR "./")
include_directories(${SRC_DIR})

如果文件在其他目录

bash 复制代码
set(SRC_DIR "./mytableview")
include_directories(${SRC_DIR})

set(PROJECT_SOURCES
        main.cpp
        MainWindow.cpp
        MainWindow.h
        MainWindow.ui
        mytableview/MyTableView.h
        mytableview/MyTableView.cpp
)

参考

Qt 使用CMake编译时自定义控件引用问题

相关推荐
Albert Edison2 分钟前
【ProtoBuf 语法详解】Any 类型
服务器·开发语言·c++·protobuf
喵叔哟12 分钟前
5. 【Blazor全栈开发实战指南】--Blazor组件基础
开发语言·javascript·ecmascript
海奥华226 分钟前
Rust初步学习
开发语言·学习·rust
卢锡荣1 小时前
LDR6021Q 车规级 Type‑C PD 控制芯片:一芯赋能,边充边传,稳驭全场景
c语言·开发语言·ios·计算机外设·电脑
、BeYourself1 小时前
Scala 基础语法
开发语言·scala
AMoon丶1 小时前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
SugarFreeOixi1 小时前
Matlab多个图窗重叠问题解决,平铺函数TileFigs
开发语言·matlab
墨月白2 小时前
[QT]浮点数转换成4个字节的十六进制(IEEE 754标准)
qt·ieee
码不停蹄Zzz2 小时前
C语言【结构体值传递问题】
c语言·开发语言
AMoon丶2 小时前
Golang--多种数据结构详解
linux·c语言·开发语言·数据结构·c++·后端·golang