小编Ric*_*d W的帖子

使用 C++17 在编译时将 C 字符串文字转换为 std::integer_sequence

是否可以编写一个在编译时将任何 C 字符串文字转换"XY..."为类型的构造?std::integer_sequence<char, 'X', 'Y', ...>我真的想要一个角色包,而不是std::array.

就像是

using MyStringType = magic_const_expr("MyString");
Run Code Online (Sandbox Code Playgroud)

这里演示了一种使用文字运算符的好方法,但不幸的是它需要非标准编译器扩展。

c++ c++17

9
推荐指数
1
解决办法
601
查看次数

如何找到单例对象的QQmlEngine实例?

我有一个SingletonBaseClass在 C++ 中定义并随后在 QML 中扩展的类。在 qmldir 文件中,它被标记为 Singleton:

// qmldir file
singleton SingletonClass 1.0 SingletonClass.qml

// SingletonClass.qml
import QtQml 2.0
pragma Singleton
SingletonBaseClass {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这是基类:

class SingletonBaseClass : public QObject 
{
    Q_OBJECT
    public:
    SingletonBaseClass(QObject* parent = nullptr) {}

    // Get the owner engine
    Q_INVOKABLE void someMethodCalledFromQml()
    {
        QQmlEngine* ownerEngine = ?
    }

    // Get the single instance of the given engine
    static SingletonBaseClass* instance(QQmlEngine* engine)
    {
        SingletonBaseClass* instance = ?
        return instance;
    } 

};
Run Code Online (Sandbox Code Playgroud)
  1. 如何检索 …

qt qml qqmlengine

3
推荐指数
1
解决办法
3164
查看次数

标签 统计

c++ ×1

c++17 ×1

qml ×1

qqmlengine ×1

qt ×1