我想在 Qml 中创建一个新文件夹……所以我通过 Qt 找到了它……所以我想在 Qt C++ 下面将它与 Qml 集成……这怎么可能……</p>
QDir dir(“path/to/dir”);
if (!dir.exists())
{
dir.mkpath(”.”);
}
否则,是否有任何选项可以直接在 Qml 中创建新文件夹...请提出解决方案。提前致谢。
无法直接从 QML 或 JavaScript 创建目录。您必须在 C++ 中创建一个对象并将其“导出”(使其可见)到 QML。您可以从 QML 代码中调用此对象的方法,它将创建目录。
这里介绍了连接 C++ 和 QML 的基本思想: 在 QML 中读取和写入文件 您唯一需要更改的是将 write 方法交换为 createDir(或任何您想要的)并插入您的代码。
另一种方法是设置 contextProperty ex。
QQmlContext *context;
context = viewer.rootContext();
context->setContextProperty("DirManager", &dManager);
(其中 DirManager 是您的类)并Q_INVOKABLE
在方法的返回类型之前使用宏。