【问题标题】:To create a new folder in Qml在 Qml 中创建一个新文件夹
【发布时间】:2013-06-07 10:16:05
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ qt qml


    【解决方案1】:

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

    这里介绍了连接 C++ 和 QML 的基本思想: Reading and writing files in QML 您唯一需要更改的就是将 write 方法换成 createDir(或任何您想要的)并插入您的代码。

    另一种方法是设置 contextProperty ex。

    QQmlContext *context;
    context = viewer.rootContext();
    
    context->setContextProperty("DirManager", &dManager);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-27
      • 2021-05-29
      • 1970-01-01
      • 2019-02-21
      • 2021-01-29
      • 2022-01-11
      • 1970-01-01
      • 2020-02-23
      相关资源
      最近更新 更多