11
votes

QT - Comment obtenir le dir "Temp" pour un utilisateur arbitraire?

Pour chaque système d'exploitation, il existe un emplacement permettant de stocker des données temporaires. Cela pourrait être comme: C: / Utilisateurs / [Nom d'utilisateur] / AppData / Temp (ou.). Comment puis-je obtenir ce chemin de manière indépendante du système d'exploitation avec QT?


0 commentaires

3 Réponses :


4
votes

Vous voulez obtenir qdesktopservices :: templication . Voir http://doc.trolltech.com/qtextensed4.4/qdesktopservices .html # standardLocation-Enum pour plus de détails.


1 commentaires

Remarque Qu'est-ce que le Documents QT actuels Dites: "Les membres suivants de la classe Qdesktopservices sont obsolètes. Ils sont fournis pour conserver le code d'ancien code source. Nous vous conseillons fortement de les utiliser dans le nouveau code." - On dirait que ce membre de la classe est obsolète ...



23
votes

Il n'est pas possible d'obtenir le répertoire Temp pour un utilisateur arbitraire, mais pour l'utilisateur actuel, vous pouvez utiliser QDIR :: TEMP () ou qdir :: temppath () .


2 commentaires

Bon point sur l'arbitraire! = Utilisateur actuel. Le répertoire d'un utilisateur arbitraire peut en fait être créé sur demande (commun dans les environnements de sociétés Win32)


@JOB Le poste est un peu vieux, y a-t-il un moyen d'obtenir le Dir TMP de l'utilisateur? Si le système est utilisé, lorsque plusieurs utilisateurs sont connectés, cela provoque une collision.



2
votes

Dans Qt 5, vous pouvez utiliser QStandardPaths :: WriPablococation (QStandardPaths :: Templocation) Pour obtenir le chemin de répertoire temporaire en tant que qstring. Vous aurez besoin de #include pour le faire.


0 commentaires