<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # QScriptEngineAgent Class Reference ## [[QtScript](index.htm) module] 該QScriptEngineAgent類提供了一個接口來報告有關事件[QScriptEngine](qscriptengine.html)執行。[More...](#details) ### Types * `enum Extension { DebuggerInvocationRequest }` ### Methods * `__init__ (self, QScriptEngine?engine)` * `contextPop (self)` * `contextPush (self)` * `QScriptEngine engine (self)` * `exceptionCatch (self, int?scriptId, QScriptValue?exception)` * `exceptionThrow (self, int?scriptId, QScriptValue?exception, bool?hasHandler)` * `QVariant extension (self, Extension?extension, QVariant?argument?=?QVariant())` * `functionEntry (self, int?scriptId)` * `functionExit (self, int?scriptId, QScriptValue?returnValue)` * `positionChange (self, int?scriptId, int?lineNumber, int?columnNumber)` * `scriptLoad (self, int?id, QString?program, QString?fileName, int?baseLineNumber)` * `scriptUnload (self, int?id)` * `bool supportsExtension (self, Extension?extension)` * * * ## Detailed Description 該QScriptEngineAgent類提供了一個接口來報告有關事件[QScriptEngine](qscriptengine.html)執行。 該QScriptEngineAgent類是用來監視和/或控制的一個執行工具的基礎[QScriptEngine](qscriptengine.html)如調試器和分析器。 為了處理腳本加載和卸載事件,重新實現[scriptLoad](qscriptengineagent.html#scriptLoad)()和[scriptUnload](qscriptengineagent.html#scriptUnload)()函數。[scriptLoad](qscriptengineagent.html#scriptLoad)()被輸入到后稱為[QScriptEngine.evaluate](qscriptengine.html#evaluate)( )已經被解析,執行給定的腳本權利之前。該引擎可為每個腳本一個ID ,它可作為一個參數來[scriptLoad](qscriptengineagent.html#scriptLoad)();隨后,其它事件處理程序可以使用該ID來識別特定的腳本。一個常見的用法[scriptLoad](qscriptengineagent.html#scriptLoad)( )是保留的腳本文本,文件名和底線號(原輸入[QScriptEngine.evaluate](qscriptengine.html#evaluate)()),以使其他的事件處理程序可以例如一個行號映射到文本的相應的行。 [scriptUnload](qscriptengineagent.html#scriptUnload)( )被調用時,[QScriptEngine](qscriptengine.html)已經不再使用的腳本;的QScriptEngineAgent可能在這一點上安全地丟棄任何與腳本(如腳本文本)相關聯的資源。注意,后[scriptUnload](qscriptengineagent.html#scriptUnload)( )被調用時,[QScriptEngine](qscriptengine.html)可重復使用相關的腳本ID為新腳本(即作為參數傳遞給后續調用[scriptLoad](qscriptengineagent.html#scriptLoad)())。 評價下面的腳本將導致[scriptUnload](qscriptengineagent.html#scriptUnload)( )被調用的評估完成后立即: ``` var a = Math.random() + 2; ``` 評價下面的腳本將\ B { }不導致調用[scriptUnload](qscriptengineagent.html#scriptUnload)( )當評估完成: ``` function cube(a) { return a * a * a; } var a = cube(3); ``` 該腳本不被卸載,因為它定義了一個函數(`cube`)保留在腳本環境評估已完成。如果后續的腳本中刪除該`cube`功能(例如,通過將其設置為`null`) ,[scriptUnload](qscriptengineagent.html#scriptUnload)( )當函數被垃圾收集會被調用。一般而言,一個腳本不卸載,直到發動機已確定沒有其內容被引用。 處理腳本函數調用和返回,重新實現[functionEntry](qscriptengineagent.html#functionEntry)()和[functionExit](qscriptengineagent.html#functionExit)()函數。[functionEntry](qscriptengineagent.html#functionEntry)( )當一個腳本函數將要執行的調用;[functionExit](qscriptengineagent.html#functionExit)()被調用時,一個腳本函數即將返回,無論是正常還是由于異常。 為了處理單個腳本語句,重新實現[positionChange](qscriptengineagent.html#positionChange)( ) 。[positionChange](qscriptengineagent.html#positionChange)()被調用每次引擎將要執行的腳本的一個新的語句,因此提供的腳本監控的最好水平。 為了處理異常,重新實現[exceptionThrow](qscriptengineagent.html#exceptionThrow)()和[exceptionCatch](qscriptengineagent.html#exceptionCatch)( ) 。[exceptionThrow](qscriptengineagent.html#exceptionThrow)()被調用時,一個腳本異常被拋出,它已被處理之前。[exceptionCatch](qscriptengineagent.html#exceptionCatch)( )被調用時,一個異常處理程序存在,并執行將在處理程序代碼將被收回。 * * * ## Type Documentation ``` QScriptEngineAgent.Extension ``` 這個枚舉指定可能的擴展到[QScriptEngineAgent](qscriptengineagent.html)。 | Constant | Value | Description | | --- | --- | --- | | `QScriptEngineAgent.DebuggerInvocationRequest` | `0` | 代理手柄`debugger`腳本語句。 | **See also** [extension](qscriptengineagent.html#extension)( ) 。 * * * ## Method Documentation ``` QScriptEngineAgent.__init__ (self, QScriptEngine?engine) ``` 該_engine_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個[QScriptEngineAgent](qscriptengineagent.html)對象為給定的_engine_。 該發動機采用了代理的所有權。 Call [QScriptEngine.setAgent](qscriptengine.html#setAgent)( )使本劑中的活性劑。 ``` QScriptEngineAgent.contextPop (self) ``` 在當前腳本上下文將要彈出這個函數被調用。 默認實現不執行任何操作。 **See also** [contextPush](qscriptengineagent.html#contextPush)()和[functionExit](qscriptengineagent.html#functionExit)( ) 。 ``` QScriptEngineAgent.contextPush (self) ``` 這個函數被調用時,一個新的腳本上下文一直推。 默認實現不執行任何操作。 **See also** [contextPop](qscriptengineagent.html#contextPop)()和[functionEntry](qscriptengineagent.html#functionEntry)( ) 。 ``` QScriptEngine QScriptEngineAgent.engine (self) ``` [](qscriptengine.html) [返回](qscriptengine.html)[QScriptEngine](qscriptengine.html)此代理相關聯。 ``` QScriptEngineAgent.exceptionCatch (self, int?scriptId, QScriptValue?exception) ``` 這個函數被調用的時候給出_exception_即將被捕獲,在所確定的腳本_scriptId_。 如果你想處理此事件重新實現這個函數。 默認實現不執行任何操作。 **See also** [exceptionThrow](qscriptengineagent.html#exceptionThrow)( ) 。 ``` QScriptEngineAgent.exceptionThrow (self, int?scriptId, QScriptValue?exception, bool?hasHandler) ``` 這個函數被調用的時候給出_exception_發生在發動機,在所確定的腳本_scriptId_。如果異常是由本地的Qt腳本函數拋出,_scriptId_是-1。 If _hasHandler_誠然,有一個`catch` or `finally`塊將處理該異常。如果_hasHandler_是假的,沒有異常處理程序。 如果你想處理此事件重新實現這個函數。例如,一個調試器可以當一個未捕獲的異常發生時通知用戶(即_hasHandler_是假的) 。 默認實現不執行任何操作。 **See also** [exceptionCatch](qscriptengineagent.html#exceptionCatch)( ) 。 ``` QVariant QScriptEngineAgent.extension (self, Extension?extension, QVariant?argument?=?QVariant()) ``` 這個虛函數可以在重新實現[QScriptEngineAgent](qscriptengineagent.html)子類以提供擴展的支持。可選的_argument_可以作為輸入提供給_extension_;結果必須在一個形式被返回[QVariant](qvariant.html)。您可以致電[supportsExtension](qscriptengineagent.html#supportsExtension)( )來檢查一個擴展是支持的[QScriptEngineAgent](qscriptengineagent.html)。默認情況下,沒有擴展名的支持,這個函數返回一個無效[QVariant](qvariant.html)。 如果實現[DebuggerInvocationRequest](qscriptengineagent.html#Extension-enum)擴展, Qt的腳本會調用這個函數時,`debugger`語句在腳本中遇到的問題。該_argument_是[QVariantList](qvariant.html#QVariantList-typedef)包含三個項目:第一個項目是scriptId (長) ,第二項是行數(一個int ) ,第三項是列數(一個整數) 。 **See also** [supportsExtension](qscriptengineagent.html#supportsExtension)( ) 。 ``` QScriptEngineAgent.functionEntry (self, int?scriptId) ``` 這個函數被調用時,一個腳本函數被調用的引擎。如果腳本的功能是不是原生的Qt腳本功能,它駐留在確定腳本_scriptId_否則,_scriptId_是-1。 這個函數被調用執行腳本函數的開始之前。你可以得到[QScriptContext](qscriptcontext.html)與函數調用相關[QScriptEngine.currentContext](qscriptengine.html#currentContext)( ) 。可傳遞給函數的參數。 重新實現這個函數來處理此事件。例如,一個調試器的實現可以重新實現這個函數(和[functionExit](qscriptengineagent.html#functionExit)())來跟蹤調用堆棧和提供步驟,以上的功能。 默認實現不執行任何操作。 **See also** [functionExit](qscriptengineagent.html#functionExit)( )[positionChange](qscriptengineagent.html#positionChange)()和[QScriptEngine.currentContext](qscriptengine.html#currentContext)( ) 。 ``` QScriptEngineAgent.functionExit (self, int?scriptId, QScriptValue?returnValue) ``` 當目前執行的腳本函數即將返回該函數被調用。如果腳本的功能是不是原生的Qt腳本功能,它駐留在確定腳本_scriptId_否則,_scriptId_是-1。該_returnValue_是腳本函數將返回值。 只是腳本函數返回之前調用此函數。您仍然可以訪問[QScriptContext](qscriptcontext.html)與腳本函數調用相關聯[QScriptEngine.currentContext](qscriptengine.html#currentContext)( ) 。 如果發動機的[hasUncaughtException](qscriptengine.html#hasUncaughtException)( )函數返回True ,腳本函數退出,由于異常,否則,腳本函數正常返回。 重新實現這個函數來處理此事件,通常你會那么還需要重新實現[functionEntry](qscriptengineagent.html#functionEntry)( ) 。 默認實現不執行任何操作。 **See also** [functionEntry](qscriptengineagent.html#functionEntry)()和[QScriptEngine.hasUncaughtException](qscriptengine.html#hasUncaughtException)( ) 。 ``` QScriptEngineAgent.positionChange (self, int?scriptId, int?lineNumber, int?columnNumber) ``` 這個函數被調用當發動機即將在確定腳本執行一個新的語句_scriptId_。該語句開始由指定的行和列_lineNumber_是不是原生的Qt腳本函數生成此事件。 重新實現這個函數來處理此事件。例如,一個調試器的實現可以重新實現這個功能,提供線,由線步進,和一個分析器實現可以用它來計算被執行每個語句的次數。 默認實現不執行任何操作。 **Note:** _columnNumber_未定義 **See also** [scriptLoad](qscriptengineagent.html#scriptLoad)()和[functionEntry](qscriptengineagent.html#functionEntry)( ) 。 ``` QScriptEngineAgent.scriptLoad (self, int?id, QString?program, QString?fileName, int?baseLineNumber) ``` 這個函數被調用時,引擎解析的腳本,并與給定關聯的它_id_。該ID可以用來識別在隨后的事件通知這個特定的腳本。 _program_,_fileName_和_baseLineNumber_是原始參數的[QScriptEngine.evaluate](qscriptengine.html#evaluate)( )調用觸發此事件。 這個函數被調用之前的腳本即將進行評估。 您可以重新實現此功能來記錄關于腳本的信息,例如,通過保留腳本文本,你可以得到的文本行對應于一個后續調用一個行號[positionChange](qscriptengineagent.html#positionChange)( ) 。 默認實現不執行任何操作。 **See also** [scriptUnload](qscriptengineagent.html#scriptUnload)( ) 。 ``` QScriptEngineAgent.scriptUnload (self, int?id) ``` 這個函數被調用時,引擎已經丟棄確定給定的腳本_id_。 您可以重新實現這個函數來清除任何已與腳本相關的資源。 默認實現不執行任何操作。 **See also** [scriptLoad](qscriptengineagent.html#scriptLoad)( ) 。 ``` bool QScriptEngineAgent.supportsExtension (self, Extension?extension) ``` 返回True如果[QScriptEngineAgent](qscriptengineagent.html)支持給定_extension_否則,則返回False。默認情況下,沒有擴展名的支持。 **See also** [extension](qscriptengineagent.html#extension)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看