1

我想在 Qml 中创建一个新文件夹……所以我通过 Qt 找到了它……所以我想在 Qt C++ 下面将它与 Qml 集成……这怎么可能……</p>

    QDir dir(“path/to/dir”);
    if (!dir.exists()) 
    { 
     dir.mkpath(”.”);
    }

否则,是否有任何选项可以直接在 Qml 中创建新文件夹...请提出解决方案。提前致谢。

4

1 回答 1

2

无法直接从 QML 或 JavaScript 创建目录。您必须在 C++ 中创建一个对象并将其“导出”(使其可见)到 QML。您可以从 QML 代码中调用此对象的方法,它将创建目录。

这里介绍了连接 C++ 和 QML 的基本思想: 在 QML 中读取和写入文件 您唯一需要更改的是将 write 方法交换为 createDir(或任何您想要的)并插入您的代码。

另一种方法是设置 contextProperty ex。

QQmlContext *context;
context = viewer.rootContext();

context->setContextProperty("DirManager", &dManager);

(其中 DirManager 是您的类)并Q_INVOKABLE在方法的返回类型之前使用宏。

于 2013-06-07T22:29:30.463 回答