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

相关推荐
odoo中国18 小时前
Odoo 19 模块结构概述
开发语言·python·module·odoo·核心组件·py文件按
代码N年归来仍是新手村成员18 小时前
【Java转Go】即时通信系统代码分析(一)基础Server 构建
java·开发语言·golang
Z1Jxxx19 小时前
01序列01序列
开发语言·c++·算法
沐知全栈开发19 小时前
C语言中的强制类型转换
开发语言
关于不上作者榜就原神启动那件事19 小时前
Java中大量数据Excel导入导出的实现方案
java·开发语言·excel
坚定学代码19 小时前
基于观察者模式的ISO C++信号槽实现
开发语言·c++·观察者模式·ai
Wang's Blog20 小时前
Nodejs-HardCore: Buffer操作、Base64编码与zlib压缩实战
开发语言·nodejs
csbysj202020 小时前
C# 集合(Collection)
开发语言
csbysj202020 小时前
Lua 面向对象编程
开发语言