Benutzername in Qt4

Alles rund um die Programmierung mit Qt
Antworten
daniel79
Beiträge: 6
Registriert: 15. Mai 2006 12:01
Wohnort: Saarbrücken

Benutzername in Qt4

Beitrag von daniel79 »

Hallo,
sehe ich das richtig, dass Qt 4 leider keine Funktion besitzt um den Benutzernamen des aktuellen Benutzers auszulesen? Und da gibt es auch keine andere plattformunabhängige Möglichkeit zu, oder?
Grüße, Daniel
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

Beitrag von C_R »

Müsste man nicht über den home bzw. C:\Documents and Settings\username herankommen?

QDir::home() :)
daniel79
Beiträge: 6
Registriert: 15. Mai 2006 12:01
Wohnort: Saarbrücken

Beitrag von daniel79 »

Den Benutzernamen bekommt man wohl Über die Funktion GetUserName() der Win-API. Ausserdem steht der wohl auch in einer Umgebungsvariable. Aber mir würde eine plattformunabhängige Lösung besser gefallen...
Burgpflanze
Beiträge: 89
Registriert: 24. Februar 2006 16:41
Wohnort: Dresden

Beitrag von Burgpflanze »

Versuchs mal damit:

Code: Alles auswählen

QString userName()
{
        QDir dir( QDir::home() );
        QString userName = dir.dirName();
        return userName;
}
Gruß, Peter
Eltharion
Beiträge: 74
Registriert: 4. Mai 2006 14:42
Wohnort: Magdeburg
Kontaktdaten:

Beitrag von Eltharion »

Was unter Windows daneben gehen kann, da man dort den Nutzer umbenennen kann und dabei der alte Profil-Name (also der Verzeichnisname) nicht angetastet wird. Sollte man wissen und z.B. in die Doku aufnehmen. Und unter Linux ist es prinzipiell auch möglich, Username != HomeDir zu haben.

E*
Burgpflanze
Beiträge: 89
Registriert: 24. Februar 2006 16:41
Wohnort: Dresden

Beitrag von Burgpflanze »

Nach einigem Suchen gefunden:

Code: Alles auswählen

QString userName = qgetenv( "USER" );
qgetenv ist in der qglobal.h deklariert:

Code: Alles auswählen

QByteArray qgetenv( const char *varName );
Kurioserweise taucht diese Funktion nicht in der Doku auf.
Gruß, Peter
Antworten