来源: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. 第16 天 JavaWEB过滤器和监听器技术

    Day16 JavaWEB过滤器和监听器技术 复习: 1.大结果集分页mysql的实现,是使用那个关键字,从user表中取第一页的数据,长度为10,sql语句怎么写? 2.分页查询的起始位置(star ...

  2. Android Studio 中提示 Private field 'mType' is assigned but never accessed 的原因

    Android Studio 是个很酷的编译器,之前发现有个代码提示很奇怪,但无奈一直没看懂他的意思,不过也没报错就没太在意,刚刚突然领悟了,原来是自己代码不规范. Private field 'mT ...

  3. L3-003. 社交集群

    L3-003. 社交集群 题目链接:https://www.patest.cn/contests/gplt/L3-003 查并集 与L2-007(家庭房产)类似,都是采用了并查集的算法,相对来说这题处 ...

  4. hashmap冲突的解决方法以及原理分析:

    在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样.当程序试图将多个 key-value 放入 HashMa ...

  5. 一个突发性的误解C# 引用类型

    最近再看IOCP,结果里面的一个赋值过程,造成了误解. test t1 = new test(); test t2 = new test(); test t4 = new test(); t1= t2 ...

  6. iOS开发自定义流水布局

    //集成UICollectionViewFlowLayout 自己写的布局 //  SJBFlowLayout.m //  自定义流水布局 // //  Created by zyyt on 16/7 ...

  7. 全球互联网技术大会GITC 2016 最炫酷技术盛宴

    2016年对于全球互联网产业来说,可谓是不折不扣的"创新爆发年",科技创新的更迭速度和多元化趋势都呈现出全所未见的增长态势.我们看到,云计算.大数据等在多年前萌发的技术创新正在快速 ...

  8. 理解WebKit和Chromium(电子书)

    前言   基础篇 WebKit, WebKit2, Chromium和Chrome介绍 WebKit和Blink WebKit和Chromium代码目录结构介绍 WebKit和Chromium功能模块 ...

  9. Spring 中,对象销毁前执行某些处理的方法

    通过 @PreDestroy 和 bean 中配置 destroy-method 实现该功能 java 代码中: 1: public class TestClass { 2: private Sche ...

  10. 【Echarts每天一例】-1

    官方网址:http://echarts.baidu.com/doc/example/line1.html 使用百度echarts官方实例:http://ask.csdn.net/questions/1 ...