Qt QUrlInfo用法示例

时间:2011-02-16 17:37:11

标签: qt qt4

我看到Qt有一个漂亮的类名QUrlInfo。它有我想要使用的方法/功能,但我对如何使用这个类感到困惑。初始化似乎很奇怪和尴尬。 http://doc.qt.io/qt-4.8/qurlinfo.html#setLastModified

例如:

我想使用名为QUrlInfo :: setLastModified的方法,以便我可以为本地文件设置lastModified时间戳。 (也在共享的网络文件上,但现在我只想关注本地文件)。

假设本地文件是“D:/dir1/dir2/file.txt”。

当我只有一个项目的fullFileName(“D:/dir1/dir2/file.txt”)并希望使用QUrlInfo的GET和SET方法时,如何使用QUrlInfo?特别是我想要一个如何创建QUrlInfo对象并使用其QUrlInfo :: setLastModified方法的示例。

更深入的解释:

我的主要困惑来自于它的构造函数看起来像 以下

//Version 1: Problem is you must already have a QUrlInfo object.
QUrlInfo ( const QUrlInfo & ui )

//Version2: Problem is you must already know everything about the file.
//This makes QUrlInfo objects large set of GET methods useless for the most part
//since you must already know all the GET info prior to making a QUrlInfo object.
//Chicken and egg scenario.  I don't see what is point of making a class that gets
//info... but... you must already know all that info to begin with or you can't
// initialize the the class.  
QUrlInfo ( const QString & name, int permissions, const QString & owner, 
const QString & group, qint64 size, const QDateTime & lastModified, 
const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, 
bool isWritable, bool isReadable, bool isExecutable )

//Version3: Same problem as in version 2.
QUrlInfo ( const QUrl & url, int permissions, const QString & owner, 
const QString & group, qint64 size, const QDateTime & lastModified, 
const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, 
bool isWritable, bool isReadable, bool isExecutable )

1 个答案:

答案 0 :(得分:2)

来自文档..

  

请注意,设置值不会影响QUrlInfo提供有关信息的基础资源;例如,如果在只读资源上调用setWritable(true),则唯一更改的是QUrlInfo对象,而不是资源。

此课程仅用于管理您已了解资源的信息。

可以使用QFile设置一些属性,但这些属性是有限的,并且在文档中带有警告,因为行为取决于操作系统。您可能需要使用本机API来可靠地操作文件属性。