Das system Benutzernamen in Qt
Gibt es eine cross-Plattform-Weg, um den aktuellen Benutzernamen in einem Qt-C++ - Programm?
Habe ich durchforstete das internet und die Dokumentation für eine Lösung, aber das einzige was ich finde sind Betriebssystem abhängig system fordert.
InformationsquelleAutor der Frage migas | 2014-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich dachte eigentlich, über die es ein paar Tage her, und ich kam zu dem Schluss, dass wir verschiedene alternativen, jede mit Ihrem eigenen trade-off, nämlich:
Umgebungsvariablen mit qgetenv.
Der Vorteil dieser Lösung wäre, dass es wirklich einfach zu implementieren. Der Nachteil ist, dass, wenn die Umgebungsvariable gesetzt ist, um etwas anderes, diese Lösung ist völlig unzuverlässig dann.
Heimatort mit QStandardPaths
Der Vorteil ist, dass es relativ einfach zu implementieren, aber dann wieder, es kann gehen, unzuverlässig, einfach da es gilt die Verwendung unterschiedlicher Benutzernamen und "Eintrag" in der Benutzer-home-Position.
Ausführung externer Prozesse und Einsatz Plattform-spezifische APIs
Dies ist wahrscheinlich die am schwierigsten zu implementieren, aber auf der anderen Seite, scheint es die zuverlässigste, wie es kann nicht geändert werden unter der Anwendung so einfach wie mit der environment-variable oder Heimatort tricks. Unter Linux verwenden, würden Sie QProcess berufen sich auf die üblichen whoami-Befehlund auf Windows, die Sie verwenden würden, die GetUserName WinAPI für diesen Zweck.
Zusammenfassung: ich würde persönlich gehen für die Letzte Variante, da, obwohl es die am schwierigsten zu implementieren, das ist das zuverlässigste.
InformationsquelleAutor der Antwort lpapp
Gibt es keine Möglichkeit erhalten den aktuellen Benutzernamen mit Qt.
Jedoch, Lesen Sie diesen links :
http://www.qtcentre.org/threads/12965-Get-user-name
http://qt-project.org/forums/viewthread/11951
Ich denke, die beste Methode ist :
BEARBEITEN : Sie können
qgetenv
stattgetenv
.InformationsquelleAutor der Antwort jd6
In QT5 und bis es möglich ist, Folgendes zu tun :
`QDir::home() gibt home-Verzeichnis des Benutzers.
InformationsquelleAutor der Antwort Flot2011
Es ist ein Weg, um die aktuelle windows-Benutzernamen mit Qt. Hier ist es
mainwindow.ui
Dies ist die form ui
mainwindow.cpp
Ausgabe:
Code-Ausgabe
InformationsquelleAutor der Antwort Starlyvil