如何提取路径的文件名
Posted
技术标签:
【中文标题】如何提取路径的文件名【英文标题】:How can I extract the filename of a path 【发布时间】:2015-06-16 15:28:45 【问题描述】:如标题所述,我想提取路径的文件名(我使用FileDialog
查找文件)。如果可能,不使用 c++ 代码。
我正在使用 Qt 5.4.2 mingw。提前谢谢你。
【问题讨论】:
使用 javascript 并从您的FileDialog
的 onAccepted
处理程序中的路径中提取文件名。请参阅this answer 中使用的方法。
感谢您对我的问题的更正以及您的回答!
@BaCaRoZzo 这通常是个坏主意。
@KubaOber 好吧,我完全同意你的看法!我只是满足OP的要求。即使在今天,我也使用QFileInfo
。正如你所说,这是微不足道的。我应该提到它。我的错,对不起。 :)
【参考方案1】:
考虑到将 QML 与任何 C++ 类接口是多么的简单,解决方案在 C++ 中不是问题。
QFileInfo(filePath).fileName()
会这样做,如果 filePath
是从文件对话框返回的路径。您只需要将其公开给 QML:
class Helper : public QObject
Q_OBJECT
public:
Q_INVOKABLE QString fileNameFromPath(const QString & filePath) const
return QFileInfo(filePath).fileName();
;
int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
QQuickView view;
Helper helper;
view.rootContext()->setContextProperty("appHelper", &helper);
view.setSource(QUrl::fromLocalFile("foo.qml"));
view.show();
return app.exec();
从 QML,只需调用 appHelper.fileNameFromPath(path)
。
【讨论】:
以上是关于如何提取路径的文件名的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 GetFullPathName 提取没有文件夹路径的文件名