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

问题描述

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

class MyTableView : public QTableView {
    Q_OBJECT
public:
    explicit MyTableView(QWidget *parent = nullptr);
    ~MyTableView();
};

写完之后,在UI编辑器,选择QTableView控件,提升为MyTableView,在CMakeLists.txt添加文件。
在这里插入图片描述
项目,右键构建,没想到出了大问题。
在这里插入图片描述

解决方案

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

set(SRC_DIR "./")
include_directories(${SRC_DIR})

在这里插入图片描述
如果文件在其他目录

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值