来源: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. final使用

    final修饰  基本数据类型时候   对应的 数据不能改变:::final修饰 对象类型 ,那么对应的引用地址不能改变(对象中的值可以改变): 如果final修改方法,那么该方法不能被子类重写 :: ...

  2. nmon安装(转)

    安装说明安装环境:CentOS-6.3安装方式:源码编译安装软件:nmon_linux_14i.tar.gz下载地址:nmon:http://nmon.sourceforge.net/pm ... n ...

  3. Cookie的简单使用

    一,新建一个空网站,添加一个Default.aspx <%@ Page Language="C#" AutoEventWireup="true" Code ...

  4. ubuntu下pip install mysql-python 失败的解决方案

    ubuntu连接mysql 需要安装mysql-python 出现can not find mysql-config 文件错误 先安装 sudo apt-get install libmysqld-d ...

  5. 【Python@Thread】threading模块

    theading模块的Thread类 属性: name 线程名 ident 线程标识符 daemon  布尔值,标示是否为守护线程 方法: __init__(target=None, name=Non ...

  6. linux命令 awk

    awk的工作流程如下: 读入有 '\n' 换行符分割的一跳记录,然后将记录按指定的域分隔划分域,填充域,$0 表示所有域, $1 表示第一个域, $n 表示第n个域.默认域分隔符为“空白键”或者“[t ...

  7. luci小记

    LuCI使用controller目录下的lua脚本中的index函数来构造了一个dispatch树.cgi环境变量PATH_INFO会被用在dispatch树种,例如 cgi-bin/luci/foo ...

  8. Linux的网卡由eth0变成了eth1,如何修复

    Linux的网卡由eth0变成了eth1,如何修复   使用wmware安装了linux,安装成功后,使用的网卡是eth0,没有eth1.但是用过一段时间后,不知道为什么eth0无法使用,系统却自动生 ...

  9. 【转】Spring事务超时时间可能存在的错误认识

    1.先看代码 1.1.spring-config.xml <bean id="dataSource" class="org.springframework.jdbc ...

  10. Openjudge-计算概论(A)-求一元二次方程的根

    描述: 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2 + bx + c =0的根 ...