<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # QSocketNotifier Class Reference ## [[QtCore](index.htm) module] 該QSocketNotifier類提供了一個文件描述符監測活動的支持。[More...](#details) 繼承[QObject](qobject.html)。 ### Types * `enum Type { Read, Write, Exception }` ### Methods * `__init__ (self, int?socket, Type?type, QObject?parent?=?None)` * `bool event (self, QEvent)` * `bool isEnabled (self)` * `setEnabled (self, bool)` * `int socket (self)` * `Type type (self)` ### Qt Signals * `void activated (int)` * * * ## Detailed Description 該QSocketNotifier類提供了一個文件描述符監測活動的支持。 該QSocketNotifier使得能夠整合Qt的事件循環與基于文件描述符其他事件循環。例如,本 [CORBA Framework](http://qt.digia.com/products/add-on-products/catalog/4/Utilities/qtcorba/)使用它來處理CORBA的事件。在Qt的主事件循環(當檢測到文件描述符行動[QCoreApplication.exec](qcoreapplication.html#exec)())。 一旦你已經使用一個低級別(通常特定于平臺)的API打開一個設備,你可以創建一個socket通知監視的文件描述符。該插座通知是默認啟用的,也就是說,它發出的[activated](qsocketnotifier.html#activated)( )信號時對應其類型的套接字事件發生。連接[activated](qsocketnotifier.html#activated)()信號,要在對應的插槽通知的類型的事件發生時要調用的插槽。 有三種類型的套接字通知者的:讀,寫和異常。類型由所描述的[Type](qsocketnotifier.html#Type-enum)枚舉,而且必須構建插座通知時指定。項目建成后可利用裝置[type](qsocketnotifier.html#type)()函數。請注意,如果你需要同時監視讀取和相同的文件描述符寫入,您必須創建兩個socket通知者。還請注意,這是不可能安裝相同類型的兩個插座通知器([Read](qsocketnotifier.html#Type-enum),[Write](qsocketnotifier.html#Type-enum),[Exception](qsocketnotifier.html#Type-enum))在同一個插座上。 該[setEnabled](qsocketnotifier.html#setEnabled)( )函數允許你禁用和啟用套接字通知。它一般最好明確地啟用或禁用該插座通知器,特別是用于寫通知器。停用的通知忽略套接字事件(同樣的效果不是創建套接字通知) 。使用[isEnabled](qsocketnotifier.html#isEnabled)( )函數來確定通知的當前狀態。 最后,您可以使用[socket](qsocketnotifier.html#socket)( )函數來獲取套接字標識符。雖然該類稱為QSocketNotifier ,它通常是用于其它類型的設備比套接字。[QTcpSocket](qtcpsocket.html)和[QUdpSocket](qudpsocket.html)通過信號提供通知,所以通常沒有必要對他們使用QSocketNotifier 。 ### Notes for Windows Users 傳遞給QSocketNotifier插座將成為不可阻擋,即使它被創建為一個阻塞套接字。該[activated](qsocketnotifier.html#activated)()信號是由主機上的高活性一般有時觸發,即使沒有要讀出。然后從插座后續讀取可能會失敗,錯誤表明有可用(例如,沒有數據,`WSAEWOULDBLOCK`) 。這是一個操作系統的限制,而不是在QSocketNotifier的錯誤。 為了確保插座通知句柄讀通知正確,當你收到通知按照下列步驟操作: 1. 禁用通知。 2. 從套接字讀取數據。 3. 重新啟用的通知,如果您有興趣更多的數據(如經書面一個新的命令到遠程服務器后) 。 為了確保插座通知處理正確地寫通知,當你收到通知按照下列步驟操作: 1. 禁用通知。 2. 寫入盡可能多的數據,你可以(之前`EWOULDBLOCK`返回) 。 3. 重新啟用通知,如果你有更多的數據來寫。 **Further information:**在Windows下,Qt始終禁用通知得到通知后,只有重新啟用它,如果更多的數據的預期。例如,如果數據是從套接字中讀取,它可以被用來讀取更多,或者,如果讀取或寫入是不可能的,因為插座會阻塞,在這種情況下,需要在嘗試重新讀取或寫入之前的等待時間。 * * * ## Type Documentation ``` QSocketNotifier.Type ``` 這個枚舉變量描述了不同類型的套接字通知器可以識別的事件。構建插座通知時,必須指定類型。 請注意,如果你需要同時監視讀取和相同的文件描述符寫入,您必須創建兩個socket通知者。另請注意,這是不可能安裝在同一個插座上同類型(讀,寫,異常)的雙插槽通知者。 | Constant | Value | Description | | --- | --- | --- | | `QSocketNotifier.Read` | `0` | 有數據被讀取。 | | `QSocketNotifier.Write` | `1` | 數據可以被寫入。 | | `QSocketNotifier.Exception` | `2` | 發生異常。我們不建議使用本品。 | **See also** [QSocketNotifier](qsocketnotifier.html#QSocketNotifier)()和[type](qsocketnotifier.html#type)( ) 。 * * * ## Method Documentation ``` QSocketNotifier.__init__ (self, int?socket, Type?type, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個套接字通知給定的_parent_。它使_socket_和手表給定的事件_type_。 它一般最好明確地啟用或禁用該插座通知器,特別是用于寫通知器。 **Note for Windows users:**傳遞到插座[QSocketNotifier](qsocketnotifier.html)將成為非阻塞的,即使它被創建為一個阻塞套接字。 **See also** [setEnabled](qsocketnotifier.html#setEnabled)()和[isEnabled](qsocketnotifier.html#isEnabled)( ) 。 ``` bool QSocketNotifier.event (self, QEvent) ``` 從重新實現[QObject.event](qobject.html#event)( ) 。 ``` bool QSocketNotifier.isEnabled (self) ``` 返回True如果通知已啟用,否則返回False 。 **See also** [setEnabled](qsocketnotifier.html#setEnabled)( ) 。 ``` QSocketNotifier.setEnabled (self, bool) ``` 這種方法也是一個Qt槽與C + +的簽名`void setEnabled(bool)`。 If _enable_為True,則通知被啟用,否則通知無效。 該通知是默認啟用的,也就是說,它發出的[activated](qsocketnotifier.html#activated)( )信號時對應于插座的事件[type](qsocketnotifier.html#type)發生。如果它被禁用,它會忽略插座事件(同樣的效果不是創建套接字通知) 。 寫通知者一般應后立即停用[activated](qsocketnotifier.html#activated)()信號已經發出 **See also** [isEnabled](qsocketnotifier.html#isEnabled)()和[activated](qsocketnotifier.html#activated)( ) 。 ``` int QSocketNotifier.socket (self) ``` 返回指定給構造函數的接口標識符。 **See also** [type](qsocketnotifier.html#type)( ) 。 ``` Type QSocketNotifier.type (self) ``` [ 返回指定給構造函數的套接字事件類型。 ](qsocketnotifier.html#Type-enum) [**See also**](qsocketnotifier.html#Type-enum) [socket](qsocketnotifier.html#socket)( ) 。 * * * ## Qt Signal Documentation ``` void activated (int) ``` 這是該信號的默認超載。 這個信號被發射時的插座通知器被啟用,并且套接字事件對應于其[type](qsocketnotifier.html#Type-enum)發生。 套接字標識符傳遞的_socket_參數。 **See also** [type](qsocketnotifier.html#type)()和[socket](qsocketnotifier.html#socket)( ) 。
                  <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>

                              哎呀哎呀视频在线观看