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编译时自定义控件引用问题

相关推荐
特立独行的猫a7 分钟前
11款常用C++在线编译与运行平台推荐与对比
java·开发语言·c++
笑鸿的学习笔记13 分钟前
qt-C++笔记之setCentralWidget的使用
c++·笔记·qt
VBA63371 小时前
VBA之Word应用第三章第十一节:Document对象的事件
开发语言
wjs20241 小时前
SOAP Header 元素
开发语言
无限远的弧光灯1 小时前
c语言学习_函数递归
c语言·开发语言·学习
趣多多代言人2 小时前
从零开始手写嵌入式实时操作系统
开发语言·arm开发·单片机·嵌入式硬件·面试·职场和发展·嵌入式
苏克贝塔2 小时前
Qt 图形视图框架3-事件处理与传播
c++·qt
轩情吖2 小时前
Qt的信号与槽(二)
数据库·c++·qt·信号·connect·信号槽·
胖大和尚2 小时前
C++项目学习计划
开发语言·c++·学习
开开心心_Every2 小时前
全能视频处理工具介绍说明
开发语言·人工智能·django·pdf·flask·c#·音视频