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

相关推荐
How_doyou_do28 分钟前
JS之刷刷
开发语言·javascript·ecmascript
小豪GO!1 小时前
Java多线程初阶
java·开发语言
码农秋1 小时前
Java Optional 最佳实践:从入门到精通的完整指南
java·开发语言·optional
三水彡彡彡彡2 小时前
Java中使用正则表达式的正确打开方式
java·开发语言·正则表达式
深耕AI3 小时前
【MFC教程】C++基础:01 小黑框跑起来
开发语言·c++·mfc
@HXH3 小时前
LeetCode第二题知识点2 ---- 栈、堆、地址
java·开发语言
Source.Liu3 小时前
【Rust】 2. 数据类型笔记
开发语言·笔记·rust
草莓熊Lotso3 小时前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day16
c语言·开发语言·经验分享·算法·强化
yzx9910133 小时前
使用Python和GitHub构建京东数据自动化采集项目
c语言·开发语言·人工智能·python
yannan201903133 小时前
【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的报错
开发语言·python·qt