<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 功能強大 支持多語言、二開方便! 廣告
                # QPluginLoader Class Reference ## [[QtCore](index.htm) module] 該QPluginLoader類加載插件在運行時。[More...](#details) 繼承[QObject](qobject.html)。 ### Methods * `__init__ (self, QObject?parent?=?None)` * `__init__ (self, QString?fileName, QObject?parent?=?None)` * `QString errorString (self)` * `QString fileName (self)` * `QObject instance (self)` * `bool isLoaded (self)` * `bool load (self)` * `QLibrary.LoadHints loadHints (self)` * `setFileName (self, QString?fileName)` * `setLoadHints (self, QLibrary.LoadHints?loadHints)` * `bool unload (self)` ### Static Methods * `list-of-QObject staticInstances ()` * * * ## Detailed Description 該QPluginLoader類加載插件在運行時。 QPluginLoader提供了訪問[Qt plugin](index.htm)。一個Qt的插件存儲在一個共享庫(一個DLL ),并在共享庫提供這些好處利用訪問[QLibrary](qlibrary.html): * QPluginLoader checks that a plugin is linked against the same version of Qt as the application. * QPluginLoader provides direct access to a root component object ([instance](qpluginloader.html#instance)()), instead of forcing you to resolve a C function manually. 一個QPluginLoader對象的一個實例運行在一個單一的共享庫文件,我們稱之為一個插件。它提供了一個與平臺無關的方式獲得在插件的功能。要指定哪些插件加載,無論是在構造函數中傳遞一個文件名或將其設置[setFileName](qpluginloader.html#fileName-prop)( ) 。 最重要的功能是[load](qpluginloader.html#load)( )動態加載的插件文件,[isLoaded](qpluginloader.html#isLoaded)()來檢查裝載是否成功,并[instance](qpluginloader.html#instance)( )來訪問插件的根組件。該[instance](qpluginloader.html#instance)( )函數隱式地嘗試加載該插件,如果它沒有被加載。 QPluginLoader的多個實例可以被用于訪問同一物理插件。 一旦加載,插件保留在內存中,直到QPluginLoader的所有實例已被卸載,或直到應用程序終止。你可以嘗試使用卸載插件[unload](qpluginloader.html#unload)( ) ,但如果QPluginLoader的其他實例都使用相同的庫,則調用將失敗,并卸載當每一個實例都調用才會發生[unload](qpluginloader.html#unload)( ) 。權利之前卸載發生,根組件也將被刪除。 為了加快加載和插件驗證,某些被裝載過程中收集的信息被緩存在持久性存儲器(通過[QSettings](qsettings.html)) 。舉例來說,一個負荷運算的結果(例如,成功或失敗)被存儲在高速緩存中,這樣,后續的加載操作不嘗試加載一個無效的插件。但是,如果一個插件的“最后修改”時間戳已經改變,該插件的緩存項失效,并不管值的插件重新加載緩存中的條目。緩存條目,然后更新了負載運行的新的結果。 這也意味著,時間戳必須在插件或任何依賴資源(如共享庫)被更新,每次更新,因為依賴的資源可能會影響加載插件的結果。 See [How to Create Qt Plugins](index.htm)關于如何通過插件使你的應用程序擴展的信息。 請注意, QPluginLoader不能使用,如果你的應用程序是針對Qt的靜態鏈接。在這種情況下,你也將有靜態鏈接到插件。您可以使用[QLibrary](qlibrary.html)如果你需要在一個靜態鏈接的應用程序加載動態庫。 **Note:**在Symbian插件存根文件,必須使用時的路徑插件是必要的。對于加載的插件的目的,存根可被認為具有相同的名稱作為實際插件二進制文件。在實踐中,他們有“ 。 QTPLUGIN ”擴展名,而不是“ DLL” ,但這種差異是由QPluginLoader透明處理和[QLibrary](qlibrary.html)避免需要特殊的Symbian處理插件,在大多數Qt應用程序。需要插件的存根,因為Symbian平臺安全性拒絕所有訪問在實際的插件二進制文件所在的目錄。 * * * ## Method Documentation ``` QPluginLoader.__init__ (self, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個插件加載給定的_parent_。 ``` QPluginLoader.__init__ (self, QString?fileName, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個插件加載給定的_parent_可以加載指定的插件_fileName_。 要加載,文件的后綴必須是一個可加載的庫的有效后綴按照平臺,如`.so`在Unix上, - `.dylib`在Mac OS X ,和`.dll`在Windows上。后綴可以與驗證[QLibrary.isLibrary](qlibrary.html#isLibrary)( ) 。 注:在Symbian的_fileName_必須指向插件存根文件。 **See also** [setFileName](qpluginloader.html#fileName-prop)( ) 。 ``` QString QPluginLoader.errorString (self) ``` 返回與上次發生錯誤的描述文本字符串。 這個函數中引入了Qt 4.2中。 ``` QString QPluginLoader.fileName (self) ``` ``` QObject QPluginLoader.instance (self) ``` [ 返回插件的根組件對象。如有必要,該插件被加載。該函數返回0,如果插件無法加載或如果根組件對象不能被實例化。 如果根組件對象被銷毀,調用這個函數創建一個新的實例。 ](qobject.html) [根組件,該函數的返回,不會被刪除時,](qobject.html)[QPluginLoader](qpluginloader.html)被破壞。如果你想確保根組件被刪除,你應該調用[unload](qpluginloader.html#unload)( )只要您不必再訪問核心組件。當庫最后卸載,根組件將被自動刪除。 該組件對象是[QObject](qobject.html)。使用[qobject_cast](qobject.html#qobject_cast)( )來訪問您感興趣的接口 **See also** [load](qpluginloader.html#load)( ) 。 ``` bool QPluginLoader.isLoaded (self) ``` 返回True如果該插件被加載,否則返回False 。 **See also** [load](qpluginloader.html#load)( ) 。 ``` bool QPluginLoader.load (self) ``` 加載插件,如果已成功加載的插件返回True,否則返回False 。自[instance](qpluginloader.html#instance)( )解決,沒有必要顯式調用它的任何符號前總是調用這個函數。在某些情況下,您可能想預先加載的插件,你會在這種情況下使用此功能。 **See also** [unload](qpluginloader.html#unload)( ) 。 ``` QLibrary.LoadHints QPluginLoader.loadHints (self) ``` [ ``` QPluginLoader.setFileName (self, QString?fileName) ``` ``` QPluginLoader.setLoadHints (self, QLibrary.LoadHints?loadHints) ``` ``` list-of-QObject QPluginLoader.staticInstances () ``` 返回靜態插件實例(根組件)本插件加載持有的一份名單。 ``` bool QPluginLoader.unload (self) ``` 卸載插件,如果插件可以卸載返回True,否則返回False 。 出現這種情況自動終止應用程序,所以你通常不應需要調用這個函數。 ](index.htm) [如果其它實例](index.htm)[QPluginLoader](qpluginloader.html)使用相同的插件,則調用將失敗,并卸載只會發生在每一個實例都調用unload ( ) 。 不要試圖刪除根組件。而不是依賴于卸載( )在需要時會自動將其刪除。 **See also** [instance](qpluginloader.html#instance)()和[load](qpluginloader.html#load)( ) 。
                  <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>

                              哎呀哎呀视频在线观看