来源:http://blog.sina.com.cn/s/blog_a6fb6cc90102uy9k.html

Qt中操作系统环境,官方解释如下:

 QStringList QProcess::systemEnvironment() [static] 
 Returns the environment of the calling process as a list of key=value pairs. 
Example: QStringList environment = QProcess::systemEnvironment();
// environment = {"PATH=/usr/bin:/usr/local/bin",
// "USER=greg", "HOME=/home/gr
  返回的结果以类似键、值的形式存储。
  举例:获取系统盘下面的AppData目录
 QString appdataPath() { 
QStringList environmentList = QProcess::systemEnvironment();
QString appPath("");
foreach (QString environment, environmentList )
{
if (environment.startsWith("APPDATA=", Qt::CaseInsensitive))
{ appPath = environment.mid(QString("APPDATA=").length()); break;
}
}
return appPath ;
}
  更简单的可以通过:QString value = QProcessEnvironment::systemEnvironment().value("APPDATA");来获取相应的键对应的值。
  这样就可以像其它应用程序一样在自己的目录下放置自己所需的资源、配置文件。。。更多操作可参考:QProcess中setEnvironment、setProcessEnvironment等函数!
 
  如果不知道里面都有什么键值,最简单的方法就是全部输出,查看是否存在自己想要获取的内容!
 QStringList environmentList = QProcess::systemEnvironment(); 
foreach (QString environment, environmentList ) { qDebug() << environment; }
  测试结果如下:
"LOCALAPPDATA=C:\Users\wangl-d\AppData\Local"  
"LIB=D:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;D:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib;"
"LOGONSERVER=\\GLODON-DC01"
"ASL.LOG=Destination=file"
"PATH=D:\Qt\Qt5.1.1\5.1.1\msvc2010\lib;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\Glodon\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\RichText\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\quazip\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\Glodon\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\RichText\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\quazip\lib\Debug\X86;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\VLD\lib\Win32;D:\Works\GAEA-PUBLIC\GGM\trunk\lib\VectorDrawEditor\lib\x86;D:\Qt\Qt5.1.1\5.1.1\msvc2010\bin;C:\Program Files (x86)\Microsoft F#\v4.0\;D:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy;D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\;D:\Program Files\Microsoft Visual Studio 10.0\VC\BIN;D:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;D:\Program Files\Microsoft Visual Studio 10.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\HTML Help Workshop;D:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\Qtitan\lib;D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\VLD\bin\Win32;D:\Qt\Qt5.1.1\5.1.1\msvc2010\bin;D:\Glodon\GFY2.0_new\Controls\GrandResource\Lib;D:\Glodon\GFY2.0_new\Controls\GAEAResource\GCL\Bpl"
"COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files"
"USERDOMAIN=GRANDSOFT"
"FRAMEWORKVERSION32=v4.0.30319"
"QTDIR=D:\Qt\Qt5.1.1\5.1.1\msvc2010"
"WINDOWS_TRACING_LOGFILE=C:\BVTBin\Tests\installpackage\csilogfile.log" "
FRAMEWORKDIR=C:\Windows\Microsoft.NET\Framework\"
"PROGRAMW6432=C:\Program Files"
"TMP=C:\Users\wangl-d\AppData\Local\Temp"
"QTITANDIR=D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource\ThirdPart\Qtitan"
"FRAMEWORKDIR32=C:\Windows\Microsoft.NET\Framework\"
"USERNAME=wangl-d"
"FP_NO_HOST_CHECK=NO"
"TEMP=C:\Users\wangl-d\AppData\Local\Temp"
"FRAMEWORKVERSION=v4.0.30319"
"VCINSTALLDIR=D:\Program Files\Microsoft Visual Studio 10.0\VC\"
"PROMPT=$P$G"
"VSEDEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection"
"HOMEPATH=\Users\wangl-d"
"WINDOWS_TRACING_FLAGS=3"
"GLDRS=D:\Works\GAEA-PUBLIC\GJH\trunk\Imports\GlodonResource"
"NUMBER_OF_PROCESSORS=4"
"VSINSTALLDIR=D:\Program Files\Microsoft Visual Studio 10.0\"
"COMSPEC=C:\Windows\system32\cmd.exe"
"PROGRAMFILES=C:\Program Files (x86)"
"SYSTEMDRIVE=C:"
"FSHARPINSTALLDIR=C:\Program Files (x86)\Microsoft F#\v4.0\"
"PROCESSOR_REVISION=3a09"
"PROCESSOR_LEVEL=6"
"WINDOWSSDKDIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\"
"HOMEDRIVE=C:"
"DEVENVDIR=D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\"
"COMPUTERNAME=WANGL-D-PC"
"PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
"APPDATA=C:\Users\wangl-d\AppData\Roaming"
"PROGRAMDATA=C:\ProgramData"
"PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel"
"PUBLIC=C:\Users\Public"
"COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files"
"OS=Windows_NT"
"FRAMEWORK35VERSION=v3.5"
"DEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection"
"LIBPATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;D:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;D:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB;"
"BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\5.0"
"VS100COMNTOOLS=D:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\"
"COMMONPROGRAMW6432=C:\Program Files\Common Files"
"USERPROFILE=C:\Users\wangl-d"
"WINDIR=C:\Windows"
"PROGRAMFILES(X86)=C:\Program Files (x86)"
"PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\"
"PROCESSOR_ARCHITECTURE=x86"
"GRS=D:\Glodon\GFY2.0_new\Controls\GrandResource"
"PROCESSOR_ARCHITEW6432=AMD64"
"SESSIONNAME=Console"
"SYSTEMROOT=C:\Windows"
"USERDNSDOMAIN=GRANDSOFT.COM.CN"
"ALLUSERSPROFILE=C:\ProgramData"
"INCLUDE=D:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE;D:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include;"

以上环境变量具体都是什么意思,我就不解释了,见名知义,大家肯定都比我聪明,O(∩_∩)O~。。。

Qt之操作系统环境的更多相关文章

  1. Qt QAxObject操作excel文件过程总结(转):

    正好同事问道Qt下操作excel. 转自:http://blog.csdn.net/a156392343/article/details/48092515 配制方面: 1.确保Excel软件在本地服务 ...

  2. 2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理

     Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法參考博客:http://blog.csdn.net/tototuzuoquan ...

  3. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置

    1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...

  4. 数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID)

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instanc ...

  5. Qt之操作数据库(SQLite)实例

    QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持.QSqlDatabase对象象征了数据库的关联.Qt使用驱动 ...

  6. .NET Core程序中,如何获取和设置操作系统环境变量的值

    有时候我们在.NET Core程序中需要获取和设置操作系统环境变量的值.本文演示如何使用Environment.GetEnvironmentVariable和Environment.SetEnviro ...

  7. 【RAC】 RAC For W2K8R2 安装--操作系统环境配置 (二)

    [RAC] RAC For W2K8R2 安装--操作系统环境配置 (二) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  8. 大数据Hadoop平台安装及Linux操作系统环境配置

    配置 Linux 系统基础环境 查看服务器的IP地址 设置服务器的主机名称 hostnamectl set-hostname hadoop hostname可查看 绑定主机名与IP 地址 vim /e ...

  9. Qt之操作数据库(SQLite)

    SQLite 简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...

随机推荐

  1. javaWEB总结(16):jsp错误页面的处理

    前言 网站上线后,jsp页面上有时会出现不友好的错误信息,我们需要展示给用户更加友好的页面.这时候要用到page标签的errorPage和isErrorPage. errorPage 指定当前页面出现 ...

  2. 实现自动备份MySQL数据库

    #!/bin/bash base="/zsjdata/mysql/data" date=$(date +%Y%m%d) hour=$(date +%H) time=$(date + ...

  3. 转:Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念

    Cocoa 是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coc ...

  4. RabbitMQ高可用配置(Haproxy + Keepalived)

    网络结构如下图: 共有104.105.106三台RabbitMQ Server,互为集群 其中104和105安装了Haproxy,每个Haproxy承担三台RabbitMQ server的负载均衡 两 ...

  5. 为什么PHP(CLI)同一个错误信息会打印两次?

    第一个信息是display_errors输出的,在fpm环境下输出到浏览器那里,而在CLI环境下会打印到屏幕上. display_errors = On 第二个信息是log_errors输出的. lo ...

  6. 设计新Xlator扩展GlusterFS[转]

    原文:http://www.linuxidc.com/Linux/2013-08/89105.htm 1. GlusterFS概述 GlusterFS是一个开源的分布式文件系统,具有强大的Scale- ...

  7. ajax格式,需要指定交互的data类型

    思路 先打印所有返回值 console.log(d);  {''status'':999} 再查看返回值,能否转换为json dataType:'json',    //大小写敏感. datatype ...

  8. Android ListView 无法响应onItemClick事件

    当在布局文件中加入了Button.ImageButton.CheckBox.RadioButton等控件(也就是Button或者Checkable的子类控件)的时候,listView是无法响应onIt ...

  9. OMCS开发手册(01) -- 多媒体设备管理器

    我们在前面一篇文章中提到:任何一个OMCS的Client都有两种身份,Owner和Guest.多媒体设备管理器工作于OMCS客户端,并以Owner的身份管理本地所有的多媒体设备.多媒体设备管理器对象是 ...

  10. CSS居中方法

    css居中方法非常多,根据工作的实际情况采用恰当方法,可取到事半功倍的效果. 就常见的一些居中方法整理如下: 代码如下: <div class="con"> <d ...