# QProcess Class Reference
## [[QtCore](index.htm) module]
使用QProcess類,用來啟動外部程序,并與他們溝通。[More...](#details)
繼承[QIODevice](qiodevice.html)。
### Types
* `enum ExitStatus { NormalExit, CrashExit }`
* `enum ProcessChannel { StandardOutput, StandardError }`
* `enum ProcessChannelMode { SeparateChannels, MergedChannels, ForwardedChannels }`
* `enum ProcessError { FailedToStart, Crashed, Timedout, ReadError, WriteError, UnknownError }`
* `enum ProcessState { NotRunning, Starting, Running }`
### Methods
* `__init__ (self, QObject?parent?=?None)`
* `bool atEnd (self)`
* `int bytesAvailable (self)`
* `int bytesToWrite (self)`
* `bool canReadLine (self)`
* `close (self)`
* `closeReadChannel (self, ProcessChannel?channel)`
* `closeWriteChannel (self)`
* `QStringList environment (self)`
* `ProcessError error (self)`
* `int exitCode (self)`
* `ExitStatus exitStatus (self)`
* `bool isSequential (self)`
* `kill (self)`
* `int pid (self)`
* `ProcessChannelMode processChannelMode (self)`
* `QProcessEnvironment processEnvironment (self)`
* `QByteArray readAllStandardError (self)`
* `QByteArray readAllStandardOutput (self)`
* `ProcessChannel readChannel (self)`
* `ProcessChannelMode readChannelMode (self)`
* `str readData (self, int?maxlen)`
* `setEnvironment (self, QStringList?environment)`
* `setProcessChannelMode (self, ProcessChannelMode?mode)`
* `setProcessEnvironment (self, QProcessEnvironment?environment)`
* `setProcessState (self, ProcessState?state)`
* `setReadChannel (self, ProcessChannel?channel)`
* `setReadChannelMode (self, ProcessChannelMode?mode)`
* `setStandardErrorFile (self, QString?fileName, QIODevice.OpenMode?mode?=?QIODevice.Truncate)`
* `setStandardInputFile (self, QString?fileName)`
* `setStandardOutputFile (self, QString?fileName, QIODevice.OpenMode?mode?=?QIODevice.Truncate)`
* `setStandardOutputProcess (self, QProcess?destination)`
* `setupChildProcess (self)`
* `setWorkingDirectory (self, QString?dir)`
* `start (self, QString?program, QStringList?arguments, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)`
* `start (self, QString?program, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)`
* `ProcessState state (self)`
* `terminate (self)`
* `bool waitForBytesWritten (self, int?msecs?=?30000)`
* `bool waitForFinished (self, int?msecs?=?30000)`
* `bool waitForReadyRead (self, int?msecs?=?30000)`
* `bool waitForStarted (self, int?msecs?=?30000)`
* `QString workingDirectory (self)`
* `int writeData (self, str?data)`
### Static Methods
* `int execute (QString?program, QStringList?arguments)`
* `int execute (QString?program)`
* `(bool, int?pid) startDetached (QString?program, QStringList?arguments, QString?workingDirectory)`
* `bool startDetached (QString?program, QStringList?arguments)`
* `bool startDetached (QString?program)`
* `QStringList systemEnvironment ()`
### Qt Signals
* `void error (QProcess::ProcessError)`
* `void finished (int,QProcess::ExitStatus)`
* `void finished (int)`
* `void readyReadStandardError ()`
* `void readyReadStandardOutput ()`
* `void started ()`
* `void stateChanged (QProcess::ProcessState)`
* * *
## Detailed Description
使用QProcess類,用來啟動外部程序,并與他們溝通。
### Running a Process
要啟動一個過程,傳遞你想要作為參數來運行程序的名稱和命令行參數[start](qprocess.html#start)( ) 。參數被作為一個單獨的字符串[QStringList](qstringlist.html)。
例如,下面的代碼片段使含有“風格”和“主題”中的參數列表中兩個項目的字符串運行在X11平臺上的Motif風格的模擬時鐘的例子:
```
[QObject](qobject.html) *parent;
...
[QString](qstring.html) program = "./path/to/Qt/examples/widgets/analogclock";
[QStringList](qstringlist.html) arguments;
arguments << "-style" << "motif";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
```
另外,QProcess然后進入[Starting](qprocess.html#ProcessState-enum)狀態,當程序已經啟動,另外,QProcess進入[Running](qprocess.html#ProcessState-enum)狀態并發出[started](qprocess.html#started)( ) 。
另外,QProcess允許你把一個進程順序I / O設備。你可以寫信給從進程讀取,就像您使用訪問網絡連接[QTcpSocket](qtcpsocket.html)。然后,您可以通過調用寫入進程的標準輸入[write](qiodevice.html#write)( ) ,并通過調用讀取標準輸出[read](qiodevice.html#read)( )[readLine](qiodevice.html#readLine)()和[getChar](qiodevice.html#getChar)( ) 。因為它繼承[QIODevice](qiodevice.html),另外,QProcess也可以被用作輸入源[QXmlReader](qxmlreader.html)或者,用于產生數據,以使用被上傳[QFtp](qftp.html)。
**Note:**在VxWorks中, Windows CE和Symbian的,讀取和寫入的過程是不支持。
當進程退出,另外,QProcess重新進入[NotRunning](qprocess.html#ProcessState-enum)狀態(初始狀態) ,并且發射[finished](qprocess.html#finished)( ) 。
該[finished](qprocess.html#finished)( )信號提供了退出代碼和過程作為參數退出狀態,您也可以致電[exitCode](qprocess.html#exitCode)()來獲取完成的最后一個進程的退出代碼,[exitStatus](qprocess.html#exitStatus)()來獲取它的退出狀態。如果發生在任何時間點的誤差,另外,QProcess將發出的[error](qprocess.html#error)()信號。您也可以撥打[error](qprocess.html#error)()找到最后發生的錯誤的類型,[state](qprocess.html#state)()找到當前進程的狀態。
### Communicating via Channels
流程有兩個預定義的輸出通道:標準輸出通道(`stdout`)定期提供控制臺輸出,標準錯誤通道(`stderr`)通常提供了由印刷過程中的錯誤。這些通道代表兩個獨立的數據流。你可以通過調用它們之間進行切換[setReadChannel](qprocess.html#setReadChannel)( ) 。另外,QProcess發出[readyRead](qiodevice.html#readyRead)( )時,數據可在當前的讀通道。它還發出[readyReadStandardOutput](qprocess.html#readyReadStandardOutput)()時,新的標準輸出數據是可用的,并且當新的標準誤差數據是可用的,[readyReadStandardError](qprocess.html#readyReadStandardError)()被發射。而不是調用[read](qiodevice.html#read)( )[readLine](qiodevice.html#readLine)() ,或[getChar](qiodevice.html#getChar)( ) ,您也可以通過調用讀取無論是從兩個通道的所有數據[readAllStandardOutput](qprocess.html#readAllStandardOutput)()或[readAllStandardError](qprocess.html#readAllStandardError)( ) 。
該術語的渠道可能會產生誤導。請注意,該過程的輸出通道對應QProcess中的_read_通道,而這個過程的輸入通道對應QProcess中的_write_頻道。這是因為我們閱讀使用QProcess中什么是過程的輸出,而我們寫什么成為過程的輸入。
另外,QProcess可以合并兩個輸出通道,使標準輸出,并從運行中的進程的標準誤差數據兩者都使用標準的輸出通道。通話[setProcessChannelMode](qprocess.html#setProcessChannelMode)( )與[MergedChannels](qprocess.html#ProcessChannelMode-enum)在開始之前,過程中activative此功能。你還可以在轉發運行過程的輸出到調用,主處理的選項,通過使[ForwardedChannels](qprocess.html#ProcessChannelMode-enum)作為參數。
某些過程中為了操作需要特殊環境設置。你可以通過調用設置環境變量為你的進程[setEnvironment](qprocess.html#setEnvironment)( ) 。要設置一個工作目錄,呼叫[setWorkingDirectory](qprocess.html#setWorkingDirectory)( ) 。默認情況下,進程在調用進程的當前工作目錄運行。
**Note:**在VxWorks中,通過渠道與進程進行通信,不支持。
**Note:**在Symbian ,設置環境或工作目錄是不支持。該工作目錄將永遠是正在運行的進程的私有目錄。
**Note:**QNX的,設置工作目錄可能會導致所有應用程序線程,除了使用QProcess調用者線程的,暫時凍結,由于在操作系統的限制。
### Synchronous Process API
另外,QProcess提供了一組功能,允許它被用于沒有一個事件循環,通過掛起調用線程,直到某個信號發出:
* [waitForStarted](qprocess.html#waitForStarted)() blocks until the process has started.
* [waitForReadyRead](qprocess.html#waitForReadyRead)() blocks until new data is available for reading on the current read channel.
* [waitForBytesWritten](qprocess.html#waitForBytesWritten)() blocks until one payload of data has been written to the process.
* [waitForFinished](qprocess.html#waitForFinished)() blocks until the process has finished.
從主線程(即調用線程調用這些函數[QApplication.exec](qapplication.html#exec)( ) )可能會導致你的用戶界面凍結。
下面的示例運行`gzip`壓縮字符串“ Qt的巖石! ”無事件循環:
```
QProcess gzip;
gzip.start("gzip", [QStringList](qstringlist.html)() << "-c");
if (!gzip.waitForStarted())
return false;
gzip.write("Qt rocks!");
gzip.closeWriteChannel();
if (!gzip.waitForFinished())
return false;
[QByteArray](qbytearray.html) result = gzip.readAll();
```
### Notes for Windows Users
有些Windows的命令(例如,`dir`)不提供單獨的應用程序,而由命令解釋程序本身。如果您嘗試使用QProcess中直接執行這些命令,它不會工作。一個可能的解決方案是要執行的命令解釋器本身(`cmd.exe`在某些Windows系統) ,并要求執行所需的命令解釋器。
### Notes for VxWorks Users
另外,QProcess支持僅適用于RTP模式,并且只提供了有限的功能。當使用QProcess中啟動Qt應用程序,啟動的應用程序都必須有下面的代碼:
* * *
## Type Documentation
```
QProcess.ExitStatus
```
這個枚舉變量描述了不同的退出狀態[QProcess](qprocess.html)。
| Constant | Value | Description |
| --- | --- | --- |
| `QProcess.NormalExit` | `0` | 這個過程正常退出。 |
| `QProcess.CrashExit` | `1` | 該進程崩潰。 |
**See also** [exitStatus](qprocess.html#exitStatus)( ) 。
```
QProcess.ProcessChannel
```
該枚舉描述了所使用的運行過程中的工藝通道。通過這些值之一[setReadChannel](qprocess.html#setReadChannel)()設定的當前的讀通道[QProcess](qprocess.html)。
| Constant | Value | Description |
| --- | --- | --- |
| `QProcess.StandardOutput` | `0` | 正在運行的進程的標準輸出(stdout ) 。 |
| `QProcess.StandardError` | `1` | 正在運行的進程的標準錯誤(錯誤) 。 |
**See also** [setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QProcess.ProcessChannelMode
```
這個枚舉變量描述的過程通道模式[QProcess](qprocess.html)。通過這些值之一[setProcessChannelMode](qprocess.html#setProcessChannelMode)( )來設置當前的讀通道模式。
| Constant | Value | Description |
| --- | --- | --- |
| `QProcess.SeparateChannels` | `0` | [QProcess](qprocess.html)管理正在運行的進程的輸出,保持標準輸出和標準錯誤的數據在單獨的內部緩沖區。您可以選擇[QProcess](qprocess.html)通過調用目前的讀取通道[setReadChannel](qprocess.html#setReadChannel)( ) 。這是缺省信道模式[QProcess](qprocess.html)。 |
| `QProcess.MergedChannels` | `1` | [QProcess](qprocess.html)合并運行過程中的輸出到標準輸出通道(`stdout`) 。標準錯誤通道(`stderr`)將不會收到任何數據。標準輸出和正在運行的進程的標準錯誤數據交錯。 |
| `QProcess.ForwardedChannels` | `2` | [QProcess](qprocess.html)運行過程中的轉發到主處理的輸出。任何事物的子進程寫入其標準輸出和標準錯誤將被寫入標準輸出和標準錯誤的主要過程。 |
**See also** [setProcessChannelMode](qprocess.html#setProcessChannelMode)( ) 。
```
QProcess.ProcessError
```
這個枚舉變量描述了不同類型的錯誤報告由[QProcess](qprocess.html)。
| Constant | Value | Description |
| --- | --- | --- |
| `QProcess.FailedToStart` | `0` | 該進程無法啟動。無論是調用的程序丟失,或者您可能沒有足夠的權限來調用該程序。 |
| `QProcess.Crashed` | `1` | 該工藝成功地墜毀后,開始一段時間。 |
| `QProcess.Timedout` | `2` | 最后WAITFOR ... ( )函數超時。狀態[QProcess](qprocess.html)是不變的,你可以嘗試調用WAITFOR ... ( )一次。 |
| `QProcess.WriteError` | `4` | 試圖寫入過程時發生錯誤。例如,該過程可能未運行,或者它可能已經關閉了其輸入通道。 |
| `QProcess.ReadError` | `3` | 試圖從進程讀取時發生錯誤。例如,程序可能無法運行。 |
| `QProcess.UnknownError` | `5` | 發生未知錯誤。這是默認的返回值[error](qprocess.html#error)( ) 。 |
**See also** [error](qprocess.html#error)( ) 。
```
QProcess.ProcessState
```
該枚舉描述的不同狀態[QProcess](qprocess.html)。
| Constant | Value | Description |
| --- | --- | --- |
| `QProcess.NotRunning` | `0` | 該進程不運行。 |
| `QProcess.Starting` | `1` | 該過程開始,但該程序尚未被調用。 |
| `QProcess.Running` | `2` | 該進程正在運行,并已準備好進行讀取和寫入。 |
**See also** [state](qprocess.html#state)( ) 。
* * *
## Method Documentation
```
QProcess.__init__ (self, QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QProcess](qprocess.html)與給定對象_parent_。
```
bool QProcess.atEnd (self)
```
從重新實現[QIODevice.atEnd](qiodevice.html#atEnd)( ) 。
返回True如果進程不運行,并沒有更多的數據可供讀取,否則返回False 。
```
int QProcess.bytesAvailable (self)
```
從重新實現[QIODevice.bytesAvailable](qiodevice.html#bytesAvailable)( ) 。
```
int QProcess.bytesToWrite (self)
```
從重新實現[QIODevice.bytesToWrite](qiodevice.html#bytesToWrite)( ) 。
```
bool QProcess.canReadLine (self)
```
從重新實現[QIODevice.canReadLine](qiodevice.html#canReadLine)( ) 。
此功能可在當前的讀通道。
**See also** [readChannel](qprocess.html#readChannel)()和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QProcess.close (self)
```
從重新實現[QIODevice.close](qiodevice.html#close)( ) 。
關閉所有與溝通的過程中,并殺死它。調用此函數后,[QProcess](qprocess.html)將不再放出[readyRead](qiodevice.html#readyRead)()和數據無法再被讀取或寫入。
```
QProcess.closeReadChannel (self, ProcessChannel?channel)
```
關閉讀取通道_channel_。調用此函數后,[QProcess](qprocess.html)將不再接收該通道上的數據。已接收到的任何數據仍然可以讀取。
調用這個函數來節省內存,如果你不感興趣,這個過程的輸出。
**See also** [closeWriteChannel](qprocess.html#closeWriteChannel)()和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QProcess.closeWriteChannel (self)
```
附表的寫通道[QProcess](qprocess.html)被關閉。所有數據已被寫入的過程中的信道將關閉一次。調用該函數后,任何試圖寫入過程將失敗。
關閉寫通道是必要的讀取輸入數據,直到該通道已被關閉的程序。例如,程序“更”是用來在Unix和Windows控制臺顯示文本數據。但它不會顯示文本數據,直到[QProcess](qprocess.html)' s的寫入通道已經關閉。例如:
```
[QProcess](qprocess.html) more;
more.start("more");
more.write("Text to display");
more.closeWriteChannel();
// QProcess will emit readyRead() once "more" starts printing
```
寫通道被隱含地打開時[start](qprocess.html#start)()被調用。
**See also** [closeReadChannel](qprocess.html#closeReadChannel)( ) 。
```
QStringList QProcess.environment (self)
```
此功能已被棄用。
返回環境,[QProcess](qprocess.html)啟動進程的時候,還是一個空將使用[QStringList](qstringlist.html)如果沒有環境一直使用設置[setEnvironment](qprocess.html#setEnvironment)()或setEnvironmentHash () 。如果沒有環境已被設置,則調用進程的環境將被使用。
**Note:**環境設置將被忽略在Windows CE和Symbian ,因為有一個環境的概念。
**See also** [processEnvironment](qprocess.html#processEnvironment)( )[setEnvironment](qprocess.html#setEnvironment)()和[systemEnvironment](qprocess.html#systemEnvironment)( ) 。
```
ProcessError QProcess.error (self)
```
[
返回上次發生錯誤的類型。
](qprocess.html#ProcessError-enum)
[**See also**](qprocess.html#ProcessError-enum) [state](qprocess.html#state)( ) 。
```
int QProcess.execute (QString?program, QStringList?arguments)
```
啟動程序_program_與參數_arguments_在一個新的進程,等待它完成,然后返回該進程的退出代碼。新進程寫入控制臺的任何數據轉發到調用進程。
環境和工作目錄是從調用進程繼承。
在Windows上,包含空格的參數被包裝在引號中。
如果進程不能啟動,則返回-2。如果進程崩潰,則返回-1。否則,將返回進程的退出代碼。
```
int QProcess.execute (QString?program)
```
這是一個重載函數。
啟動程序_program_在一個新的進程。_program_是一個同時包含程序名和參數單個文本字符串。該參數由一個或多個空格隔開。
```
int QProcess.exitCode (self)
```
返回完成的最后一個進程的退出代碼。
```
ExitStatus QProcess.exitStatus (self)
```
[
返回完成的最后一個進程的退出狀態。
](qprocess.html#ExitStatus-enum)
[在Windows上,如果該進程是從另一個應用程序終止TerminateProcess ( )這個函數仍然會返回](qprocess.html#ExitStatus-enum)[NormalExit](qprocess.html#ExitStatus-enum)除非退出代碼小于0 。
這個函數是Qt 4.1中引入。
```
bool QProcess.isSequential (self)
```
從重新實現[QIODevice.isSequential](qiodevice.html#isSequential)( ) 。
```
QProcess.kill (self)
```
這種方法也是一個Qt槽與C + +的簽名`void kill()`。
殺死當前進程,使其立即退出。
在Windows上,殺()使用TerminateProcess ,并在Unix和Mac OS X上, SIGKILL信號發送到進程。
在Symbian ,此功能需要平臺的安全能力`PowerMgmt`。如果不存在,該過程將恐慌與KERN - EXEC 46 。
**Note:**殺死其他進程正在運行的進程通常會導致Symbian的恐慌,由于平臺的安全性。
**See also** [Symbian Platform Security Requirements](index.htm)和[terminate](qprocess.html#terminate)( ) 。
```
int QProcess.pid (self)
```
返回運行過程中本機進程標識符(如果可用) 。如果沒有進程正在運行,則返回0 。
```
ProcessChannelMode QProcess.processChannelMode (self)
```
[](qprocess.html#ProcessChannelMode-enum)
[返回的渠道模式](qprocess.html#ProcessChannelMode-enum)[QProcess](qprocess.html)標準輸出和標準錯誤通道。
這個函數中引入了Qt 4.2中。
**See also** [setProcessChannelMode](qprocess.html#setProcessChannelMode)( )[ProcessChannelMode](qprocess.html#ProcessChannelMode-enum)和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QProcessEnvironment QProcess.processEnvironment (self)
```
[](qprocessenvironment.html)
[返回環境,](qprocessenvironment.html)[QProcess](qprocess.html)將啟動一個進程時,或一個空的對象,如果沒有環境一直使用設置使用[setEnvironment](qprocess.html#setEnvironment)()或[setProcessEnvironment](qprocess.html#setProcessEnvironment)( ) 。如果沒有環境已被設置,則調用進程的環境將被使用。
**Note:**環境設置將被忽略在Windows CE上,因為有一個環境的概念。
此功能被引入Qt的4.6 。
**See also** [setProcessEnvironment](qprocess.html#setProcessEnvironment)( )[setEnvironment](qprocess.html#setEnvironment)()和[QProcessEnvironment.isEmpty](qprocessenvironment.html#isEmpty)( ) 。
```
QByteArray QProcess.readAllStandardError (self)
```
[](qbytearray.html)
[不管當前的讀通道,這個函數返回一個可用的所有數據處理的標準誤差為](qbytearray.html)[QByteArray](qbytearray.html)。
**See also** [readyReadStandardError](qprocess.html#readyReadStandardError)( )[readAllStandardOutput](qprocess.html#readAllStandardOutput)( )[readChannel](qprocess.html#readChannel)()和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QByteArray QProcess.readAllStandardOutput (self)
```
[](qbytearray.html)
[不管當前的讀通道,這個函數返回一個可用的所有數據處理的標準輸出作為](qbytearray.html)[QByteArray](qbytearray.html)。
**See also** [readyReadStandardOutput](qprocess.html#readyReadStandardOutput)( )[readAllStandardError](qprocess.html#readAllStandardError)( )[readChannel](qprocess.html#readChannel)()和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
ProcessChannel QProcess.readChannel (self)
```
[](qprocess.html#ProcessChannel-enum)
[返回的當前讀取通道](qprocess.html#ProcessChannel-enum)[QProcess](qprocess.html)。
**See also** [setReadChannel](qprocess.html#setReadChannel)( ) 。
```
ProcessChannelMode QProcess.readChannelMode (self)
```
[
```
str QProcess.readData (self, int?maxlen)
```
](qprocess.html#ProcessChannelMode-enum)
[從重新實現](qprocess.html#ProcessChannelMode-enum)[QIODevice.readData](qiodevice.html#readData)( ) 。
```
QProcess.setEnvironment (self, QStringList?environment)
```
此功能已被棄用。
設置環境[QProcess](qprocess.html)啟動進程的時候會用_environment_指定它由key = value對的列表。
例如,下面的代碼添加`C:\\BIN`目錄的可執行文件的路徑列表(`PATHS`)在Windows上:
```
[QProcess](qprocess.html) process;
[QStringList](qstringlist.html) env = [QProcess](qprocess.html).systemEnvironment();
env << "TMPDIR=C:\\MyApp\\temp"; // Add an environment variable
env.replaceInStrings([QRegExp](qregexp.html)("^PATH=(.*)", [Qt](qt.html).CaseInsensitive), "PATH=\\1;C:\\Bin");
process.setEnvironment(env);
process.start("myapp");
```
**Note:**這個函數是比低效率[setProcessEnvironment](qprocess.html#setProcessEnvironment)()函數。
**See also** [environment](qprocess.html#environment)( )[setProcessEnvironment](qprocess.html#setProcessEnvironment)()和[systemEnvironment](qprocess.html#systemEnvironment)( ) 。
```
QProcess.setProcessChannelMode (self, ProcessChannelMode?mode)
```
設置的通道模式[QProcess](qprocess.html)標準輸出和標準錯誤通道到_mode_規定。此模式將在下一次使用[start](qprocess.html#start)()被調用。例如:
```
[QProcess](qprocess.html) builder;
builder.setProcessChannelMode([QProcess](qprocess.html).MergedChannels);
builder.start("make", [QStringList](qstringlist.html)() << "-j2");
if (!builder.waitForFinished())
qDebug() << "Make failed:" << builder.errorString();
else
qDebug() << "Make output:" << builder.readAll();
```
這個函數中引入了Qt 4.2中。
**See also** [processChannelMode](qprocess.html#processChannelMode)( )[ProcessChannelMode](qprocess.html#ProcessChannelMode-enum)和[setReadChannel](qprocess.html#setReadChannel)( ) 。
```
QProcess.setProcessEnvironment (self, QProcessEnvironment?environment)
```
設置環境[QProcess](qprocess.html)啟動進程的時候會用_environment_對象。
例如,下面的代碼添加`C:\\BIN`目錄的可執行文件的路徑列表(`PATHS`)在Windows和套`TMPDIR`:
```
[QProcess](qprocess.html) process;
[QProcessEnvironment](qprocessenvironment.html) env = [QProcessEnvironment](qprocessenvironment.html).systemEnvironment();
env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable
env.insert("PATH", env.value("Path") + ";C:\\Bin");
process.setProcessEnvironment(env);
process.start("myapp");
```
請注意如何在Windows上,環境變量名稱是區分大小寫的。
此功能被引入Qt的4.6 。
**See also** [processEnvironment](qprocess.html#processEnvironment)( )[QProcessEnvironment.systemEnvironment](qprocessenvironment.html#systemEnvironment)()和[setEnvironment](qprocess.html#setEnvironment)( ) 。
```
QProcess.setProcessState (self, ProcessState?state)
```
設置的當前狀態[QProcess](qprocess.html)到_state_規定。
**See also** [state](qprocess.html#state)( ) 。
```
QProcess.setReadChannel (self, ProcessChannel?channel)
```
設置的當前讀取通道[QProcess](qprocess.html)為給定的_channel_。當前輸入信道是所使用的函數[read](qiodevice.html#read)( )[readAll](qiodevice.html#readAll)( )[readLine](qiodevice.html#readLine)()和[getChar](qiodevice.html#getChar)( ) 。這也決定了通道的觸發[QProcess](qprocess.html) to emit [readyRead](qiodevice.html#readyRead)( ) 。
**See also** [readChannel](qprocess.html#readChannel)( ) 。
```
QProcess.setReadChannelMode (self, ProcessChannelMode?mode)
```
```
QProcess.setStandardErrorFile (self, QString?fileName, QIODevice.OpenMode?mode?=?QIODevice.Truncate)
```
重定向進程的標準錯誤到文件_fileName_。當重定向到位,標準錯誤讀取通道被關閉:使用從它讀[read](qiodevice.html#read)( )總是會失敗,因為意志[readAllStandardError](qprocess.html#readAllStandardError)( ) 。該文件將被追加到,如果_mode_被追加,否則會被截斷。
See [setStandardOutputFile](qprocess.html#setStandardOutputFile)( )有關如何打開該文件的詳細信息。
注:如果[setProcessChannelMode](qprocess.html#setProcessChannelMode)( )被調用時的參數[QProcess.MergedChannels](qprocess.html#ProcessChannelMode-enum)時,此功能沒有任何影響。
這個函數中引入了Qt 4.2中。
**See also** [setStandardInputFile](qprocess.html#setStandardInputFile)( )[setStandardOutputFile](qprocess.html#setStandardOutputFile)()和[setStandardOutputProcess](qprocess.html#setStandardOutputProcess)( ) 。
```
QProcess.setStandardInputFile (self, QString?fileName)
```
重定向進程的標準輸入到由指定的文件_fileName_。當輸入重定向到位,[QProcess](qprocess.html)對象將在只讀模式(調用[write](qiodevice.html#write)( )將導致錯誤)。
如果文件_fileName_此刻不存在[start](qprocess.html#start)()被調用或者不可讀,啟動過程將失敗。
調用setStandardInputFile ()之后的過程中已經開始沒有任何效果。
這個函數中引入了Qt 4.2中。
**See also** [setStandardOutputFile](qprocess.html#setStandardOutputFile)( )[setStandardErrorFile](qprocess.html#setStandardErrorFile)()和[setStandardOutputProcess](qprocess.html#setStandardOutputProcess)( ) 。
```
QProcess.setStandardOutputFile (self, QString?fileName, QIODevice.OpenMode?mode?=?QIODevice.Truncate)
```
重定向進程的標準輸出到文件_fileName_。當重定向到位,標準輸出讀取通道被關閉:使用從它讀[read](qiodevice.html#read)( )總是會失敗,因為意志[readAllStandardOutput](qprocess.html#readAllStandardOutput)( ) 。
如果文件_fileName_此刻不存在[start](qprocess.html#start)( )被調用時,它會被創建。如果它不能被創建,起始將會失敗。
如果該文件存在,并且_mode_ is [QIODevice.Truncate](qiodevice.html#OpenModeFlag-enum),該文件將被截斷。否則(如果_mode_ is [QIODevice.Append](qiodevice.html#OpenModeFlag-enum)) ,該文件將被追加到。
調用setStandardOutputFile ()之后的過程中已經開始沒有任何效果。
這個函數中引入了Qt 4.2中。
**See also** [setStandardInputFile](qprocess.html#setStandardInputFile)( )[setStandardErrorFile](qprocess.html#setStandardErrorFile)()和[setStandardOutputProcess](qprocess.html#setStandardOutputProcess)( ) 。
```
QProcess.setStandardOutputProcess (self, QProcess?destination)
```
管這個過程的標準輸出流的_destination_進程的標準輸入。
下面的shell命令:
```
command1 | command2
```
可以完成與QProcesses用下面的代碼:
```
[QProcess](qprocess.html) process1;
[QProcess](qprocess.html) process2;
process1.setStandardOutputProcess(&process2);
process1.start("command1");
process2.start("command2");
```
這個函數中引入了Qt 4.2中。
```
QProcess.setupChildProcess (self)
```
這個函數被調用的子進程的上下文,即,經過之前的程序是在Unix或Mac OS X (執行_fork()_,但在此之前_execve()_) 。重新實現這個功能做的子進程的最后一分鐘的初始化。例如:
```
class SandboxProcess : public [QProcess](qprocess.html)
{
...
protected:
void setupChildProcess();
...
};
void SandboxProcess.setupChildProcess()
{
// Drop all privileges in the child process, and enter
// a chroot jail.
#if defined Q_OS_UNIX
.setgroups(0, 0);
.chroot("/etc/safe");
.chdir("/");
.setgid(safeGid);
.setuid(safeUid);
.umask(0);
#endif
}
```
你不能從這個函數退出過程(通過調用exit ( ) ,例如) 。如果你需要在開始執行前停止程序,你的解決方法是發出[finished](qprocess.html#finished)(),然后調用exit ( ) 。
**Warning:**調用此函數由[QProcess](qprocess.html)在Unix和Mac OS X只。在Windows和QNX ,那就不叫。
```
QProcess.setWorkingDirectory (self, QString?dir)
```
設置工作目錄_dir_。[QProcess](qprocess.html)將啟動此目錄中的過程。默認行為是啟動該進程在調用進程的工作目錄。
**Note:**工作目錄設置將被忽略在Symbian ,這個過程的私有目錄被認為是其工作目錄。
**Note:**QNX的,這可能導致所有應用程序線程暫時凍結。
**See also** [workingDirectory](qprocess.html#workingDirectory)()和[start](qprocess.html#start)( ) 。
```
QProcess.start (self, QString?program, QStringList?arguments, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)
```
開始定_program_在一個新的進程,如果沒有已經在運行,通過命令行參數中_arguments_。該[OpenMode](qiodevice.html#OpenModeFlag-enum)被設置為_mode_。
該[QProcess](qprocess.html)對象將立即進入啟動狀態。如果進程啟動成功,[QProcess](qprocess.html)會發出[started](qprocess.html#started)( ),否則,[error](qprocess.html#error)()將被發射。如果[QProcess](qprocess.html)對象已在運行的過程中,一個警告可能會打印在控制臺,而現有的程序將繼續運行。
**Note:**過程是異步啟動,這意味著[started](qprocess.html#started)()和[error](qprocess.html#error)( )信號可能會被延遲。通話[waitForStarted](qprocess.html#waitForStarted)( ),以確保這一進程已經開始(或無法啟動),和這些信號已經發出。
**Note:**被執行的參數沒有進一步分裂。
**Windows:**包含空格的參數被包裝在引號中。
**See also** [pid](qprocess.html#pid)( )[started](qprocess.html#started)()和[waitForStarted](qprocess.html#waitForStarted)( ) 。
```
QProcess.start (self, QString?program, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)
```
這是一個重載函數。
啟動程序_program_在一個新的進程,如果尚未運行。_program_是一個同時包含程序名和參數單個文本字符串。該參數由一個或多個空格隔開。例如:
```
[QProcess](qprocess.html) process;
process.start("del /s *.txt");
// same as process.start("del", QStringList() << "/s" << "*.txt");
...
```
該_program_字符串也可以包含引號,以確保含有空格的參數是否正確提供給新的進程。例如:
```
[QProcess](qprocess.html) process;
process.start("dir \"My Documents\"");
```
如果[QProcess](qprocess.html)對象已在運行的過程中,一個警告可能會打印在控制臺,而現有的程序將繼續運行。
需要注意的是,在Windows上,報價需要既逃脫了,并引述。例如,上面的代碼會以下面的方式被指定,以確保`"My Documents"`作為參數傳遞給`dir`可執行文件:
```
[QProcess](qprocess.html) process;
process.start("dir \"\"\"My Documents\"\"\"");
```
該[OpenMode](qiodevice.html#OpenModeFlag-enum)被設置為_mode_。
```
(bool, int?pid) QProcess.startDetached (QString?program, QStringList?arguments, QString?workingDirectory)
```
啟動程序_program_與參數_arguments_在一個新的進程,并從分離它。成功時返回TRUE ,否則返回False 。如果調用進程退出,脫離的進程將繼續生活。
需要注意的是包含空格的參數不傳遞到過程作為單獨的參數。
**Unix:**在啟動過程中會在它自己的會話中運行,并作為守護程序運行。
**Windows:**包含空格的參數被包裝在引號中。在啟動過程中會作為一個經常性的獨立的進程中運行。
這一過程將在目錄中開始_workingDirectory_。
**Note:**QNX的,這可能導致所有應用程序線程暫時凍結。
**Note:**VxWorks的,這將啟動RTP過程中始終具有優先級設置為220 。
如果函數成功,則*_pid_被設定為啟動的過程的進程標識符。
```
bool QProcess.startDetached (QString?program, QStringList?arguments)
```
啟動程序_program_用給定的_arguments_在一個新的進程,并從分離它。成功時返回TRUE ,否則返回False 。如果調用進程退出,脫離的進程將繼續生活。
**Note:**包含空格的參數沒有被傳遞給進程作為獨立參數。
**Unix:**在啟動過程中會在它自己的會話中運行,并作為守護程序運行。
**Windows:**包含空格的參數被包裝在引號中。在啟動過程中會作為一個經常性的獨立的進程中運行。
```
bool QProcess.startDetached (QString?program)
```
這是一個重載函數。
啟動程序_program_在一個新的進程。_program_是一個同時包含程序名和參數單個文本字符串。該參數由一個或多個空格隔開。
該_program_字符串也可以包含引號,以確保含有空格的參數是否正確提供給新的進程。
```
ProcessState QProcess.state (self)
```
[
返回該過程的當前狀態。
](qprocess.html#ProcessState-enum)
[**See also**](qprocess.html#ProcessState-enum) [stateChanged](qprocess.html#stateChanged)()和[error](qprocess.html#error)( ) 。
```
QStringList QProcess.systemEnvironment ()
```
返回調用進程的環境為key = value對的列表。例如:
```
[QStringList](qstringlist.html) environment = [QProcess](qprocess.html).systemEnvironment();
// environment = {"PATH=/usr/bin:/usr/local/bin",
// "USER=greg", "HOME=/home/greg"}
```
這個函數不緩存系統環境。因此,有可能獲得環境的更新版本,如果低級別的C庫函數如`setenv`OT`putenv`已被調用。
但是請注意,重復調用此函數將重新創建的環境變量列表,這是一個不平凡的操作。
**Note:**為新的代碼,它是推薦使用[QProcessEnvironment.systemEnvironment](qprocessenvironment.html#systemEnvironment)( )
這個函數是Qt 4.1中引入。
**See also** [QProcessEnvironment.systemEnvironment](qprocessenvironment.html#systemEnvironment)( )[environment](qprocess.html#environment)()和[setEnvironment](qprocess.html#setEnvironment)( ) 。
```
QProcess.terminate (self)
```
這種方法也是一個Qt槽與C + +的簽名`void terminate()`。
試圖終止進程。
這個過程可能不會退出作為調用這個函數(它被賦予機會提示用戶輸入任何未保存的文件等)的結果。
在Windows中,終止( )投遞一個WM_CLOSE消息過程中的所有頂層窗口,然后在過程本身的主線程。在Unix和Mac OS X SIGTERM信號被發送。
在不運行一個事件循環,或者其事件循環不處理WM_CLOSE消息的Windows控制臺應用程序,只能通過調用被終止[kill](qprocess.html#kill)( ) 。
在Symbian ,此功能需要平臺的安全能力`PowerMgmt`。如果不存在,該過程將恐慌與KERN - EXEC 46 。
**Note:**終止其他進程正在運行的進程通常會導致Symbian的恐慌,由于平臺的安全性。
**See also** [Symbian Platform Security Requirements](index.htm)和[kill](qprocess.html#kill)( ) 。
```
bool QProcess.waitForBytesWritten (self, int?msecs?=?30000)
```
從重新實現[QIODevice.waitForBytesWritten](qiodevice.html#waitForBytesWritten)( ) 。
```
bool QProcess.waitForFinished (self, int?msecs?=?30000)
```
塊,直到該進程已結束,[finished](qprocess.html#finished)()信號已被發出,或直到_msecs_毫秒過去了。
返回True如果這個過程完成,否則返回False (如果操作超時,如果出現錯誤,或者如果這[QProcess](qprocess.html)已經完成) 。
此功能可以操作沒有一個事件循環。編寫非GUI的應用程序和在非GUI線程執行I / O操作時,它是有用的。
**Warning:**從主(圖形用戶界面)線程調用該函數可能會導致你的用戶界面凍結。
如果毫秒為-1 ,此功能將不會超時。
**See also** [finished](qprocess.html#finished)( )[waitForStarted](qprocess.html#waitForStarted)( )[waitForReadyRead](qprocess.html#waitForReadyRead)()和[waitForBytesWritten](qprocess.html#waitForBytesWritten)( ) 。
```
bool QProcess.waitForReadyRead (self, int?msecs?=?30000)
```
從重新實現[QIODevice.waitForReadyRead](qiodevice.html#waitForReadyRead)( ) 。
```
bool QProcess.waitForStarted (self, int?msecs?=?30000)
```
塊,直到該進程已經開始,[started](qprocess.html#started)()信號已被發出,或直到_msecs_毫秒過去了。
返回True如果該進程已成功啟動,否則返回False (如果操作超時,或者如果發生錯誤) 。
此功能可以操作沒有一個事件循環。編寫非GUI的應用程序和在非GUI線程執行I / O操作時,它是有用的。
**Warning:**從主(圖形用戶界面)線程調用該函數可能會導致你的用戶界面凍結。
如果毫秒為-1 ,此功能將不會超時。
**See also** [started](qprocess.html#started)( )[waitForReadyRead](qprocess.html#waitForReadyRead)( )[waitForBytesWritten](qprocess.html#waitForBytesWritten)()和[waitForFinished](qprocess.html#waitForFinished)( ) 。
```
QString QProcess.workingDirectory (self)
```
If [QProcess](qprocess.html)已指派一個工作目錄,這個函數返回的工作目錄,該[QProcess](qprocess.html)將進入程序啟動之前。否則, (即,沒有目錄已分配, )一個空字符串返回,[QProcess](qprocess.html)將使用應用程序的當前工作目錄中。
**See also** [setWorkingDirectory](qprocess.html#setWorkingDirectory)( ) 。
```
int QProcess.writeData (self, str?data)
```
從重新實現[QIODevice.writeData](qiodevice.html#writeData)( ) 。
* * *
## Qt Signal Documentation
```
void error (QProcess::ProcessError)
```
這是該信號的默認超載。
當使用過程中發生錯誤,這個信號被發射。指定_error_描述發生錯誤的類型。
```
void finished (int,QProcess::ExitStatus)
```
這是該信號的默認超載。
當該過程完成時,這個信號被發射。_exitCode_是該進程的退出代碼,_exitStatus_是的退出狀態。之后的過程完成后,該緩沖器中[QProcess](qprocess.html)仍然完好無損。你仍然可以讀取該進程可能已寫入之前,完成所有數據。
**See also** [exitStatus](qprocess.html#exitStatus)( ) 。
```
void finished (int)
```
```
void readyReadStandardError ()
```
這是該信號的默認超載。
這個信號被發射時的過程中取得了新的數據可通過其標準錯誤通道(`stderr`) 。目前它是不管發射[read channel](qprocess.html#readChannel)。
**See also** [readAllStandardError](qprocess.html#readAllStandardError)()和[readChannel](qprocess.html#readChannel)( ) 。
```
void readyReadStandardOutput ()
```
這是該信號的默認超載。
這個信號被發射時的過程中取得了新的數據可以通過它的標準輸出通道(`stdout`) 。目前它是不管發射[read channel](qprocess.html#readChannel)。
**See also** [readAllStandardOutput](qprocess.html#readAllStandardOutput)()和[readChannel](qprocess.html#readChannel)( ) 。
```
void started ()
```
這是該信號的默認超載。
這個信號是由發射[QProcess](qprocess.html)當這個過程已經開始,[state](qprocess.html#state)()返回[Running](qprocess.html#ProcessState-enum)。
```
void stateChanged (QProcess::ProcessState)
```
這是該信號的默認超載。
這個信號被發射時的狀態[QProcess](qprocess.html)變化。該_newState_參數是狀態[QProcess](qprocess.html)更改為。
- PyQt4 中文文檔
- PyQt Class Reference
- QAbstractAnimation Class Reference
- QAbstractButton Class Reference
- QAbstractEventDispatcher Class Reference
- QAbstractExtensionFactory Class Reference
- QAbstractExtensionManager Class Reference
- QAbstractFileEngine Class Reference
- QAbstractFileEngineHandler Class Reference
- QAbstractFileEngineIterator Class Reference
- QAbstractFormBuilder Class Reference
- QAbstractGraphicsShapeItem Class Reference
- QAbstractItemDelegate Class Reference
- QAbstractItemModel Class Reference
- QAbstractItemView Class Reference
- QAbstractListModel Class Reference
- QAbstractMessageHandler Class Reference
- QAbstractNetworkCache Class Reference
- QAbstractPrintDialog Class Reference
- QAbstractProxyModel Class Reference
- QAbstractScrollArea Class Reference
- QAbstractSlider Class Reference
- QAbstractSocket Class Reference
- QAbstractSpinBox Class Reference
- QAbstractState Class Reference
- QAbstractTableModel Class Reference
- QAbstractTextDocumentLayout Class Reference
- QAbstractTransition Class Reference
- QAbstractUriResolver Class Reference
- QAbstractVideoBuffer Class Reference
- QAbstractVideoSurface Class Reference
- QAbstractXmlNodeModel Class Reference
- QAbstractXmlReceiver Class Reference
- QAction Class Reference
- QActionEvent Class Reference
- QActionGroup Class Reference
- QAnimationGroup Class Reference
- QApplication Class Reference
- QAssistantClient Class Reference
- QAudio Class Reference
- QAudioDeviceInfo Class Reference
- QAudioFormat Class Reference
- QAudioInput Class Reference
- QAudioOutput Class Reference
- QAuthenticator Class Reference
- QBasicTimer Class Reference
- QBitArray Class Reference
- QBitmap Class Reference
- QBoxLayout Class Reference
- QBrush Class Reference
- QBuffer Class Reference
- QButtonGroup Class Reference
- QByteArray Class Reference
- QByteArrayMatcher Class Reference
- QCalendarWidget Class Reference
- QChar Class Reference
- QCheckBox Class Reference
- QChildEvent Class Reference
- QClipboard Class Reference
- QCloseEvent Class Reference
- QColor Class Reference
- QColorDialog Class Reference
- QColumnView Class Reference
- QComboBox Class Reference
- QCommandLinkButton Class Reference
- QCommonStyle Class Reference
- QCompleter Class Reference
- QConicalGradient Class Reference
- QContextMenuEvent Class Reference
- QCoreApplication Class Reference
- QCryptographicHash Class Reference
- QCursor Class Reference
- QDataStream Class Reference
- QDataWidgetMapper Class Reference
- QDate Class Reference
- QDateEdit Class Reference
- QDateTime Class Reference
- QDateTimeEdit Class Reference
- QDBus Class Reference
- QDBusAbstractAdaptor Class Reference
- QDBusAbstractInterface Class Reference
- QDBusArgument Class Reference
- QDBusConnection Class Reference
- QDBusConnectionInterface Class Reference
- QDBusError Class Reference
- QDBusInterface Class Reference
- QDBusMessage Class Reference
- QDBusObjectPath Class Reference
- QDBusPendingCall Class Reference
- QDBusPendingCallWatcher Class Reference
- QDBusPendingReply Class Reference
- QDBusReply Class Reference
- QDBusServiceWatcher Class Reference
- QDBusSignature Class Reference
- QDBusUnixFileDescriptor Class Reference
- QDBusVariant Class Reference
- QDeclarativeComponent Class Reference
- QDeclarativeContext Class Reference
- QDeclarativeEngine Class Reference
- QDeclarativeError Class Reference
- QDeclarativeExpression Class Reference
- QDeclarativeExtensionPlugin Class Reference
- QDeclarativeImageProvider Class Reference
- QDeclarativeItem Class Reference
- QDeclarativeListReference Class Reference
- QDeclarativeNetworkAccessManagerFactory Class Reference
- QDeclarativeParserStatus Class Reference
- QDeclarativeProperty Class Reference
- QDeclarativePropertyMap Class Reference
- QDeclarativePropertyValueSource Class Reference
- QDeclarativeScriptString Class Reference
- QDeclarativeView Class Reference
- QDesignerActionEditorInterface Class Reference
- QDesignerContainerExtension Class Reference
- QDesignerCustomWidgetCollectionInterface Class Reference
- QDesignerCustomWidgetInterface Class Reference
- QDesignerFormEditorInterface Class Reference
- QDesignerFormWindowCursorInterface Class Reference
- QDesignerFormWindowInterface Class Reference
- QDesignerFormWindowManagerInterface Class Reference
- QDesignerMemberSheetExtension Class Reference
- QDesignerObjectInspectorInterface Class Reference
- QDesignerPropertyEditorInterface Class Reference
- QDesignerPropertySheetExtension Class Reference
- QDesignerTaskMenuExtension Class Reference
- QDesignerWidgetBoxInterface Class Reference
- QDesktopServices Class Reference
- QDesktopWidget Class Reference
- QDial Class Reference
- QDialog Class Reference
- QDialogButtonBox Class Reference
- QDir Class Reference
- QDirIterator Class Reference
- QDirModel Class Reference
- QDockWidget Class Reference
- QDomAttr Class Reference
- QDomCDATASection Class Reference
- QDomCharacterData Class Reference
- QDomComment Class Reference
- QDomDocument Class Reference
- QDomDocumentFragment Class Reference
- QDomDocumentType Class Reference
- QDomElement Class Reference
- QDomEntity Class Reference
- QDomEntityReference Class Reference
- QDomImplementation Class Reference
- QDomNamedNodeMap Class Reference
- QDomNode Class Reference
- QDomNodeList Class Reference
- QDomNotation Class Reference
- QDomProcessingInstruction Class Reference
- QDomText Class Reference
- QDoubleSpinBox Class Reference
- QDoubleValidator Class Reference
- QDrag Class Reference
- QDragEnterEvent Class Reference
- QDragLeaveEvent Class Reference
- QDragMoveEvent Class Reference
- QDropEvent Class Reference
- QDynamicPropertyChangeEvent Class Reference
- QEasingCurve Class Reference
- QElapsedTimer Class Reference
- QErrorMessage Class Reference
- QEvent Class Reference
- QEventLoop Class Reference
- QEventTransition Class Reference
- QExtensionFactory Class Reference
- QExtensionManager Class Reference
- QFile Class Reference
- QFileDialog Class Reference
- QFileIconProvider Class Reference
- QFileInfo Class Reference
- QFileOpenEvent Class Reference
- QFileSystemModel Class Reference
- QFileSystemWatcher Class Reference
- QFinalState Class Reference
- QFocusEvent Class Reference
- QFocusFrame Class Reference
- QFont Class Reference
- QFontComboBox Class Reference
- QFontDatabase Class Reference
- QFontDialog Class Reference
- QFontInfo Class Reference
- QFontMetrics Class Reference
- QFontMetricsF Class Reference
- QFormBuilder Class Reference
- QFormLayout Class Reference
- QFrame Class Reference
- QFSFileEngine Class Reference
- QFtp Class Reference
- QGenericArgument Class Reference
- QGenericReturnArgument Class Reference
- QGesture Class Reference
- QGestureEvent Class Reference
- QGestureRecognizer Class Reference
- QGL Class Reference
- QGLBuffer Class Reference
- QGLColormap Class Reference
- QGLContext Class Reference
- QGLFormat Class Reference
- QGLFramebufferObject Class Reference
- QGLFramebufferObjectFormat Class Reference
- QGLPixelBuffer Class Reference
- QGLShader Class Reference
- QGLShaderProgram Class Reference
- QGLWidget Class Reference
- QGlyphRun Class Reference
- QGradient Class Reference
- QGraphicsAnchor Class Reference
- QGraphicsAnchorLayout Class Reference
- QGraphicsBlurEffect Class Reference
- QGraphicsColorizeEffect Class Reference
- QGraphicsDropShadowEffect Class Reference
- QGraphicsEffect Class Reference
- QGraphicsEllipseItem Class Reference
- QGraphicsGridLayout Class Reference
- QGraphicsItem Class Reference
- QGraphicsItemAnimation Class Reference
- QGraphicsItemGroup Class Reference
- QGraphicsLayout Class Reference
- QGraphicsLayoutItem Class Reference
- QGraphicsLinearLayout Class Reference
- QGraphicsLineItem Class Reference
- QGraphicsObject Class Reference
- QGraphicsOpacityEffect Class Reference
- QGraphicsPathItem Class Reference
- QGraphicsPixmapItem Class Reference
- QGraphicsPolygonItem Class Reference
- QGraphicsProxyWidget Class Reference
- QGraphicsRectItem Class Reference
- QGraphicsRotation Class Reference
- QGraphicsScale Class Reference
- QGraphicsScene Class Reference
- QGraphicsSceneContextMenuEvent Class Reference
- QGraphicsSceneDragDropEvent Class Reference
- QGraphicsSceneEvent Class Reference
- QGraphicsSceneHelpEvent Class Reference
- QGraphicsSceneHoverEvent Class Reference
- QGraphicsSceneMouseEvent Class Reference
- QGraphicsSceneMoveEvent Class Reference
- QGraphicsSceneResizeEvent Class Reference
- QGraphicsSceneWheelEvent Class Reference
- QGraphicsSimpleTextItem Class Reference
- QGraphicsSvgItem Class Reference
- QGraphicsTextItem Class Reference
- QGraphicsTransform Class Reference
- QGraphicsView Class Reference
- QGraphicsWebView Class Reference
- QGraphicsWidget Class Reference
- QGridLayout Class Reference
- QGroupBox Class Reference
- QHBoxLayout Class Reference
- QHeaderView Class Reference
- QHelpContentItem Class Reference
- QHelpContentModel Class Reference
- QHelpContentWidget Class Reference
- QHelpEngine Class Reference
- QHelpEngineCore Class Reference
- QHelpEvent Class Reference
- QHelpIndexModel Class Reference
- QHelpIndexWidget Class Reference
- QHelpSearchEngine Class Reference
- QHelpSearchQuery Class Reference
- QHelpSearchQueryWidget Class Reference
- QHelpSearchResultWidget Class Reference
- QHideEvent Class Reference
- QHistoryState Class Reference
- QHostAddress Class Reference
- QHostInfo Class Reference
- QHoverEvent Class Reference
- QHttp Class Reference
- QHttpHeader Class Reference
- QHttpMultiPart Class Reference
- QHttpPart Class Reference
- QHttpRequestHeader Class Reference
- QHttpResponseHeader Class Reference
- QIcon Class Reference
- QIconDragEvent Class Reference
- QIconEngine Class Reference
- QIconEngineV2 Class Reference
- QIdentityProxyModel Class Reference
- QImage Class Reference
- QImageIOHandler Class Reference
- QImageReader Class Reference
- QImageWriter Class Reference
- QInputContext Class Reference
- QInputContextFactory Class Reference
- QInputDialog Class Reference
- QInputEvent Class Reference
- QInputMethodEvent Class Reference
- QIntValidator Class Reference
- QIODevice Class Reference
- QItemDelegate Class Reference
- QItemEditorCreatorBase Class Reference
- QItemEditorFactory Class Reference
- QItemSelection Class Reference
- QItemSelectionModel Class Reference
- QItemSelectionRange Class Reference
- QKeyEvent Class Reference
- QKeyEventTransition Class Reference
- QKeySequence Class Reference
- QLabel Class Reference
- QLatin1Char Class Reference
- QLatin1String Class Reference
- QLayout Class Reference
- QLayoutItem Class Reference
- QLCDNumber Class Reference
- QLibrary Class Reference
- QLibraryInfo Class Reference
- QLine Class Reference
- QLinearGradient Class Reference
- QLineEdit Class Reference
- QLineF Class Reference
- QListView Class Reference
- QListWidget Class Reference
- QListWidgetItem Class Reference
- QLocale Class Reference
- QLocalServer Class Reference
- QLocalSocket Class Reference
- QMainWindow Class Reference
- QMargins Class Reference
- QMatrix Class Reference
- QMatrix2x2 Class Reference
- QMatrix2x3 Class Reference
- QMatrix2x4 Class Reference
- QMatrix3x2 Class Reference
- QMatrix3x3 Class Reference
- QMatrix3x4 Class Reference
- QMatrix4x2 Class Reference
- QMatrix4x3 Class Reference
- QMatrix4x4 Class Reference
- QMdiArea Class Reference
- QMdiSubWindow Class Reference
- QMenu Class Reference
- QMenuBar Class Reference
- QMessageBox Class Reference
- QMetaClassInfo Class Reference
- QMetaEnum Class Reference
- QMetaMethod Class Reference
- QMetaObject Class Reference
- QMetaProperty Class Reference
- QMetaType Class Reference
- QMimeData Class Reference
- QMimeSource Class Reference
- QModelIndex Class Reference
- QMouseEvent Class Reference
- QMouseEventTransition Class Reference
- QMoveEvent Class Reference
- QMovie Class Reference
- QMutex Class Reference
- QMutexLocker Class Reference
- QNetworkAccessManager Class Reference
- QNetworkAddressEntry Class Reference
- QNetworkCacheMetaData Class Reference
- QNetworkConfiguration Class Reference
- QNetworkConfigurationManager Class Reference
- QNetworkCookie Class Reference
- QNetworkCookieJar Class Reference
- QNetworkDiskCache Class Reference
- QNetworkInterface Class Reference
- QNetworkProxy Class Reference
- QNetworkProxyFactory Class Reference
- QNetworkProxyQuery Class Reference
- QNetworkReply Class Reference
- QNetworkRequest Class Reference
- QNetworkSession Class Reference
- QObject Class Reference
- QObjectCleanupHandler Class Reference
- QPageSetupDialog Class Reference
- QPaintDevice Class Reference
- QPaintEngine Class Reference
- QPaintEngineState Class Reference
- QPainter Class Reference
- QPainterPath Class Reference
- QPainterPathStroker Class Reference
- QPaintEvent Class Reference
- QPalette Class Reference
- QPanGesture Class Reference
- QParallelAnimationGroup Class Reference
- QPauseAnimation Class Reference
- QPen Class Reference
- QPersistentModelIndex Class Reference
- QPicture Class Reference
- QPictureIO Class Reference
- QPinchGesture Class Reference
- QPixmap Class Reference
- QPixmapCache Class Reference
- QPlainTextDocumentLayout Class Reference
- QPlainTextEdit Class Reference
- QPluginLoader Class Reference
- QPoint Class Reference
- QPointF Class Reference
- QPolygon Class Reference
- QPolygonF Class Reference
- QPrintDialog Class Reference
- QPrintEngine Class Reference
- QPrinter Class Reference
- QPrinterInfo Class Reference
- QPrintPreviewDialog Class Reference
- QPrintPreviewWidget Class Reference
- QProcess Class Reference
- QProcessEnvironment Class Reference
- QProgressBar Class Reference
- QProgressDialog Class Reference
- QPropertyAnimation Class Reference
- QProxyModel Class Reference
- QPushButton Class Reference
- QPyDeclarativePropertyValueSource Class Reference
- QPyDesignerContainerExtension Class Reference
- QPyDesignerCustomWidgetCollectionPlugin Class Reference
- QPyDesignerCustomWidgetPlugin Class Reference
- QPyDesignerMemberSheetExtension Class Reference
- QPyDesignerPropertySheetExtension Class Reference
- QPyDesignerTaskMenuExtension Class Reference
- QPyNullVariant Class Reference
- QPyTextObject Class Reference
- QQuaternion Class Reference
- QRadialGradient Class Reference
- QRadioButton Class Reference
- QRawFont Class Reference
- QReadLocker Class Reference
- QReadWriteLock Class Reference
- QRect Class Reference
- QRectF Class Reference
- QRegExp Class Reference
- QRegExpValidator Class Reference
- QRegion Class Reference
- QResizeEvent Class Reference
- QResource Class Reference
- QRubberBand Class Reference
- QRunnable Class Reference
- QScriptClass Class Reference
- QScriptClassPropertyIterator Class Reference
- QScriptContext Class Reference
- QScriptContextInfo Class Reference
- QScriptEngine Class Reference
- QScriptEngineAgent Class Reference
- QScriptEngineDebugger Class Reference
- QScriptString Class Reference
- QScriptSyntaxCheckResult Class Reference
- QScriptValue Class Reference
- QScriptValueIterator Class Reference
- QScrollArea Class Reference
- QScrollBar Class Reference
- QSemaphore Class Reference
- QSequentialAnimationGroup Class Reference
- QSessionManager Class Reference
- QSettings Class Reference
- QSharedMemory Class Reference
- QShortcut Class Reference
- QShortcutEvent Class Reference
- QShowEvent Class Reference
- QSignalMapper Class Reference
- QSignalTransition Class Reference
- QSimpleXmlNodeModel Class Reference
- QSize Class Reference
- QSizeF Class Reference
- QSizeGrip Class Reference
- QSizePolicy Class Reference
- QSlider Class Reference
- QSocketNotifier Class Reference
- QSortFilterProxyModel Class Reference
- QSound Class Reference
- QSourceLocation Class Reference
- QSpacerItem Class Reference
- QSpinBox Class Reference
- QSplashScreen Class Reference
- QSplitter Class Reference
- QSplitterHandle Class Reference
- QSql Class Reference
- QSqlDatabase Class Reference
- QSqlDriver Class Reference
- QSqlDriverCreatorBase Class Reference
- QSqlError Class Reference
- QSqlField Class Reference
- QSqlIndex Class Reference
- QSqlQuery Class Reference
- QSqlQueryModel Class Reference
- QSqlRecord Class Reference
- QSqlRelation Class Reference
- QSqlRelationalDelegate Class Reference
- QSqlRelationalTableModel Class Reference
- QSqlResult Class Reference
- QSqlTableModel Class Reference
- Qt4.7文檔翻譯:Qt樣式單參考,Qt Style Sheets Reference
- QSsl Class Reference
- QSslCertificate Class Reference
- QSslCipher Class Reference
- QSslConfiguration Class Reference
- QSslError Class Reference
- QSslKey Class Reference
- QSslSocket Class Reference
- QStackedLayout Class Reference
- QStackedWidget Class Reference
- QStandardItem Class Reference
- QStandardItemModel Class Reference
- QState Class Reference
- QStateMachine Class Reference
- QStaticText Class Reference
- QStatusBar Class Reference
- QStatusTipEvent Class Reference
- QString Class Reference
- QStringList Class Reference
- QStringListModel Class Reference
- QStringMatcher Class Reference
- QStringRef Class Reference
- QStyle Class Reference
- QStyledItemDelegate Class Reference
- QStyleFactory Class Reference
- QStyleHintReturn Class Reference
- QStyleHintReturnMask Class Reference
- QStyleHintReturnVariant Class Reference
- QStyleOption Class Reference
- QStyleOptionButton Class Reference
- QStyleOptionComboBox Class Reference
- QStyleOptionComplex Class Reference
- QStyleOptionDockWidget Class Reference
- QStyleOptionDockWidgetV2 Class Reference
- QStyleOptionFocusRect Class Reference
- QStyleOptionFrame Class Reference
- QStyleOptionFrameV2 Class Reference
- QStyleOptionFrameV3 Class Reference
- QStyleOptionGraphicsItem Class Reference
- QStyleOptionGroupBox Class Reference
- QStyleOptionHeader Class Reference
- QStyleOptionMenuItem Class Reference
- QStyleOptionProgressBar Class Reference
- QStyleOptionProgressBarV2 Class Reference
- QStyleOptionRubberBand Class Reference
- QStyleOptionSizeGrip Class Reference
- QStyleOptionSlider Class Reference
- QStyleOptionSpinBox Class Reference
- QStyleOptionTab Class Reference
- QStyleOptionTabBarBase Class Reference
- QStyleOptionTabBarBaseV2 Class Reference
- QStyleOptionTabV2 Class Reference
- QStyleOptionTabV3 Class Reference
- QStyleOptionTabWidgetFrame Class Reference
- QStyleOptionTabWidgetFrameV2 Class Reference
- QStyleOptionTitleBar Class Reference
- QStyleOptionToolBar Class Reference
- QStyleOptionToolBox Class Reference
- QStyleOptionToolBoxV2 Class Reference
- QStyleOptionToolButton Class Reference
- QStyleOptionViewItem Class Reference
- QStyleOptionViewItemV2 Class Reference
- QStyleOptionViewItemV3 Class Reference
- QStyleOptionViewItemV4 Class Reference
- QStylePainter Class Reference
- QSvgGenerator Class Reference
- QSvgRenderer Class Reference
- QSvgWidget Class Reference
- QSwipeGesture Class Reference
- QSyntaxHighlighter Class Reference
- QSysInfo Class Reference
- QSystemLocale Class Reference
- QSystemSemaphore Class Reference
- QSystemTrayIcon Class Reference
- Qt Class Reference
- QTabBar Class Reference
- QTabletEvent Class Reference
- QTableView Class Reference
- QTableWidget Class Reference
- QTableWidgetItem Class Reference
- QTableWidgetSelectionRange Class Reference
- QTabWidget Class Reference
- QTapAndHoldGesture Class Reference
- QTapGesture Class Reference
- QTcpServer Class Reference
- QTcpSocket Class Reference
- QTemporaryFile Class Reference
- QTest Class Reference
- QTextBlock Class Reference
- QTextBlockFormat Class Reference
- QTextBlockGroup Class Reference
- QTextBlockUserData Class Reference
- QTextBoundaryFinder Class Reference
- QTextBrowser Class Reference
- QTextCharFormat Class Reference
- QTextCodec Class Reference
- QTextCursor Class Reference
- QTextDecoder Class Reference
- QTextDocument Class Reference
- QTextDocumentFragment Class Reference
- QTextDocumentWriter Class Reference
- QTextEdit Class Reference
- QTextEncoder Class Reference
- QTextFormat Class Reference
- QTextFragment Class Reference
- QTextFrame Class Reference
- QTextFrameFormat Class Reference
- QTextImageFormat Class Reference
- QTextInlineObject Class Reference
- QTextItem Class Reference
- QTextLayout Class Reference
- QTextLength Class Reference
- QTextLine Class Reference
- QTextList Class Reference
- QTextListFormat Class Reference
- QTextObject Class Reference
- QTextObjectInterface Class Reference
- QTextOption Class Reference
- QTextStream Class Reference
- QTextTable Class Reference
- QTextTableCell Class Reference
- QTextTableCellFormat Class Reference
- QTextTableFormat Class Reference
- QThread Class Reference
- QThreadPool Class Reference
- QTime Class Reference
- QTimeEdit Class Reference
- QTimeLine Class Reference
- QTimer Class Reference
- QTimerEvent Class Reference
- QToolBar Class Reference
- QToolBox Class Reference
- QToolButton Class Reference
- QToolTip Class Reference
- QTouchEvent Class Reference
- Reference
- QTransform Class Reference
- QTranslator Class Reference
- QTreeView Class Reference
- QTreeWidget Class Reference
- QTreeWidgetItem Class Reference
- QTreeWidgetItemIterator Class Reference
- QUdpSocket Class Reference
- QUndoCommand Class Reference
- QUndoGroup Class Reference
- QUndoStack Class Reference
- QUndoView Class Reference
- QUrl Class Reference
- QUrlInfo Class Reference
- QUuid Class Reference
- QValidator Class Reference
- QVariant Class Reference
- QVariantAnimation Class Reference
- QVBoxLayout Class Reference
- QVector2D Class Reference
- QVector3D Class Reference
- QVector4D Class Reference
- QVideoFrame Class Reference
- QVideoSurfaceFormat Class Reference
- QWaitCondition Class Reference
- QWebDatabase Class Reference
- QWebElement Class Reference
- QWebElementCollection Class Reference
- QWebFrame Class Reference
- QWebHistory Class Reference
- QWebHistoryInterface Class Reference
- QWebHistoryItem Class Reference
- QWebHitTestResult Class Reference
- QWebInspector Class Reference
- QWebPage Class Reference
- QWebPluginFactory Class Reference
- QWebSecurityOrigin Class Reference
- QWebSettings Class Reference
- QWebView Class Reference
- QWhatsThis Class Reference
- QWhatsThisClickedEvent Class Reference
- QWheelEvent Class Reference
- QWidget Class Reference
- QWidgetAction Class Reference
- QWidgetItem Class Reference
- QWindowStateChangeEvent Class Reference
- QWizard Class Reference
- QWizardPage Class Reference
- QWorkspace Class Reference
- QWriteLocker Class Reference
- QX11EmbedContainer Class Reference
- QX11EmbedWidget Class Reference
- QX11Info Class Reference
- QXmlAttributes Class Reference
- QXmlContentHandler Class Reference
- QXmlDeclHandler Class Reference
- QXmlDefaultHandler Class Reference
- QXmlDTDHandler Class Reference
- QXmlEntityResolver Class Reference
- QXmlErrorHandler Class Reference
- QXmlFormatter Class Reference
- QXmlInputSource Class Reference
- QXmlItem Class Reference
- QXmlLexicalHandler Class Reference
- QXmlLocator Class Reference
- QXmlName Class Reference
- QXmlNamePool Class Reference
- QXmlNamespaceSupport Class Reference
- QXmlNodeModelIndex Class Reference
- QXmlParseException Class Reference
- QXmlQuery Class Reference
- QXmlReader Class Reference
- QXmlResultItems Class Reference
- QXmlSchema Class Reference
- QXmlSchemaValidator Class Reference
- QXmlSerializer Class Reference
- QXmlSimpleReader Class Reference
- QXmlStreamAttribute Class Reference
- QXmlStreamAttributes Class Reference
- QXmlStreamEntityDeclaration Class Reference
- QXmlStreamEntityResolver Class Reference
- QXmlStreamNamespaceDeclaration Class Reference
- QXmlStreamNotationDeclaration Class Reference
- QXmlStreamReader Class Reference
- QXmlStreamWriter Class Reference