AlgebraMaster

Modern C++ 创造非凡 . 改变世界

导航

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问题不大,但是弃之

 

posted on 2022-12-26 14:56  gearslogy  阅读(38)  评论(0编辑  收藏  举报