Qt问题记录
1. Q_OBJECT 对std::unique_ptr<A>的前置声明不支持。 需要完整的A type
2. Q_OBJECT不支持C++20 module
3. hpp 如果没有.cpp 编译不支持Q_OBJECT
如下:vmenu.h
class PCG_VNodeContextMenu : public QMenu{ Q_OBJECT public: inline void registerAction(const QString &name , auto && func){ auto *ret = addAction(name); connect(ret, &QAction::triggered, this , func); } void registerAction(const QString &name , const QString &iconPath, auto && func){ auto *ret = addAction(name); ret->setIcon(QIcon(iconPath)); connect(ret, &QAction::triggered, this , func); } }
但是没有vmenu.cpp 无法编译....
4. 最近尝试了 C++20 module编写,现在的编译器还不能完全支持,比如经常说没有IFC文件。(VC2019) VC2022问题不大,但是弃之