在 Qml 中创建一个新文件夹
Posted
技术标签:
【中文标题】在 Qml 中创建一个新文件夹【英文标题】:To create a new folder in Qml 【发布时间】:2013-06-07 10:16:05 【问题描述】:我想……所以我通过 Qt 找到了它……所以我想在 Qt C++ 下将它与 Qml 集成……这怎么可能……
QDir dir(“path/to/dir”);
if (!dir.exists())
dir.mkpath(”.”);
或者,是否有任何选项可以直接在 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
。
【讨论】:
以上是关于在 Qml 中创建一个新文件夹的主要内容,如果未能解决你的问题,请参考以下文章
在PyQt中创建MapQuickItem并将其添加到Map中
为啥我在尝试创建新的 qml 文件时得到 QmlCachedGenerateCode?