问题描述
笔者为了利用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
)