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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # QBuffer Class Reference ## [[QtCore](index.htm) module] 該Q緩沖器類提供了一個[QIODevice](qiodevice.html)接口為一[QByteArray](qbytearray.html)。[More...](#details) 繼承[QIODevice](qiodevice.html)。 ### Methods * `__init__ (self, QObject?parent?=?None)` * `__init__ (self, QByteArray?byteArray, QObject?parent?=?None)` * `bool atEnd (self)` * `QByteArray buffer (self)` * `bool canReadLine (self)` * `close (self)` * `connectNotify (self, SIGNAL())` * `QByteArray data (self)` * `disconnectNotify (self, SIGNAL())` * `bool open (self, QIODevice.OpenMode?openMode)` * `int pos (self)` * `str readData (self, int?maxlen)` * `bool seek (self, int?off)` * `setBuffer (self, QByteArray?a)` * `setData (self, QByteArray?data)` * `setData (self, str?adata)` * `int size (self)` * `int writeData (self, str?data)` * * * ## Detailed Description 該Q緩沖器類提供了一個[QIODevice](qiodevice.html)接口為一[QByteArray](qbytearray.html)。 Q緩沖器允許你訪問一個[QByteArray](qbytearray.html)使用[QIODevice](qiodevice.html)接口。該[QByteArray](qbytearray.html)被視為只是作為一個標準的隨機訪問的文件。例如: ``` QBuffer buffer; char ch; buffer.open(QBuffer.ReadWrite); buffer.write("Qt rocks!"); buffer.seek(0); buffer.getChar(&ch); // ch == 'Q' buffer.getChar(&ch); // ch == 't' buffer.getChar(&ch); // ch == ' ' buffer.getChar(&ch); // ch == 'r' ``` 默認情況下,內部[QByteArray](qbytearray.html)緩沖區是為你,當你創建一個Q緩沖器創建。您可以直接通過調用訪問該緩沖區[buffer](qbuffer.html#buffer)( ) 。也可以使用ΣQ緩沖與現有[QByteArray](qbytearray.html)通過調用[setBuffer](qbuffer.html#setBuffer)( ) ,或者通過你的數組Q緩沖器的構造函數。 Call [open](qbuffer.html#open)()打開緩沖區。然后調用[write](qiodevice.html#write)()或[putChar](qiodevice.html#putChar)( )寫入到緩沖區,并[read](qiodevice.html#read)( )[readLine](qiodevice.html#readLine)( )[readAll](qiodevice.html#readAll)() ,或[getChar](qiodevice.html#getChar)()讀取它。[size](qbuffer.html#size)()返回緩沖區的當前大小,并且可以通過調用試圖在緩沖區中的任意位置[seek](qbuffer.html#seek)( ) 。當你與訪問緩沖完成后,調用[close](qbuffer.html#close)( ) 。 下面的代碼片段顯示了如何將數據寫入到[QByteArray](qbytearray.html) using [QDataStream](qdatastream.html)和Q緩沖器: ``` [QByteArray](qbytearray.html) byteArray; QBuffer buffer(&byteArray); buffer.open([QIODevice](qiodevice.html).WriteOnly); [QDataStream](qdatastream.html) out(&buffer); out << [QApplication](qapplication.html).palette(); ``` 實際上,我們把應用程序的[QPalette](qpalette.html)成一個字節數組。以下是如何從讀取數據[QByteArray](qbytearray.html): ``` [QPalette](qpalette.html) palette; QBuffer buffer(&byteArray); buffer.open([QIODevice](qiodevice.html).ReadOnly); [QDataStream](qdatastream.html) in(&buffer); in >> palette; ``` [QTextStream](qtextstream.html)和[QDataStream](qdatastream.html)還提供了方便的構造函數,它接受一個[QByteArray](qbytearray.html)并創建一個Q緩沖器幕后。 Q緩沖器發出[readyRead](qiodevice.html#readyRead)( )當新的數據到達緩沖區。通過連接到這個信號,就可以使用Q緩沖器處理之前來存儲臨時數據。例如,您可以將緩沖區傳遞到[QFtp](qftp.html)從FTP服務器上下載一個文件時。每當一個新的數據有效載荷被下載,[readyRead](qiodevice.html#readyRead)( )被發射,并且可以處理剛到的數據。 Q緩沖器還發出[bytesWritten](qiodevice.html#bytesWritten)( )每次新的數據已經被寫入到緩沖區。 * * * ## Method Documentation ``` QBuffer.__init__ (self, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個空的緩沖區與給定_parent_。您可以致電[setData](qbuffer.html#setData)()來填充數據的緩沖區,也可以在寫入模式,并使用它打開[write](qiodevice.html#write)( ) 。 **See also** [open](qbuffer.html#open)( ) 。 ``` QBuffer.__init__ (self, QByteArray?byteArray, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個[QBuffer](qbuffer.html)使用該[QByteArray](qbytearray.html)指向_byteArray_作為其內部緩沖器,并與給定的_parent_。來電者是負責確保_byteArray_保持有效,直到[QBuffer](qbuffer.html)被破壞,或直到[setBuffer](qbuffer.html#setBuffer)( )被調用來更改緩沖區。[QBuffer](qbuffer.html)不走的所有權[QByteArray](qbytearray.html)。 如果您在只寫模式打開的緩沖區或讀寫模式和寫的東西進入[QBuffer](qbuffer.html),_byteArray_將被修改。 例如: ``` [QByteArray](qbytearray.html) byteArray("abc"); [QBuffer](qbuffer.html) buffer(&byteArray); buffer.open([QIODevice](qiodevice.html).WriteOnly); buffer.seek(3); buffer.write("def", 3); buffer.close(); // byteArray == "abcdef" ``` **See also** [open](qbuffer.html#open)( )[setBuffer](qbuffer.html#setBuffer)()和[setData](qbuffer.html#setData)( ) 。 ``` bool QBuffer.atEnd (self) ``` 從重新實現[QIODevice.atEnd](qiodevice.html#atEnd)( ) 。 ``` QByteArray QBuffer.buffer (self) ``` [](qbytearray.html) [返回一個引用](qbytearray.html)[QBuffer](qbuffer.html)的內部緩沖區。你可以用它來修改[QByteArray](qbytearray.html)后面的[QBuffer](qbuffer.html)的背部。 **See also** [setBuffer](qbuffer.html#setBuffer)()和[data](qbuffer.html#data)( ) 。 ``` bool QBuffer.canReadLine (self) ``` 從重新實現[QIODevice.canReadLine](qiodevice.html#canReadLine)( ) 。 ``` QBuffer.close (self) ``` 從重新實現[QIODevice.close](qiodevice.html#close)( ) 。 ``` QBuffer.connectNotify (self, SIGNAL()) ``` ``` QByteArray QBuffer.data (self) ``` [ 返回包含在緩沖區中的數據。 ](qbytearray.html) [這是相同的](qbytearray.html)[buffer](qbuffer.html#buffer)( ) 。 **See also** [setData](qbuffer.html#setData)()和[setBuffer](qbuffer.html#setBuffer)( ) 。 ``` QBuffer.disconnectNotify (self, SIGNAL()) ``` ``` bool QBuffer.open (self, QIODevice.OpenMode?openMode) ``` 從重新實現[QIODevice.open](qiodevice.html#open)( ) 。 ``` int QBuffer.pos (self) ``` 從重新實現[QIODevice.pos](qiodevice.html#pos)( ) 。 ``` str QBuffer.readData (self, int?maxlen) ``` 從重新實現[QIODevice.readData](qiodevice.html#readData)( ) 。 ``` bool QBuffer.seek (self, int?off) ``` 從重新實現[QIODevice.seek](qiodevice.html#seek)( ) 。 ``` QBuffer.setBuffer (self, QByteArray?a) ``` 品牌[QBuffer](qbuffer.html)使用[QByteArray](qbytearray.html)指向_byteArray_作為其內部緩沖器中。來電者是負責確保_byteArray_保持有效,直到[QBuffer](qbuffer.html)被破壞,或直到setBuffer ( )被調用來更改緩沖區。[QBuffer](qbuffer.html)不走的所有權[QByteArray](qbytearray.html)。 什么都不做,如果[isOpen](qiodevice.html#isOpen)()是真實的。 如果您在只寫模式打開的緩沖區或讀寫模式和寫的東西進入[QBuffer](qbuffer.html),_byteArray_將被修改。 例如: ``` [QByteArray](qbytearray.html) byteArray("abc"); [QBuffer](qbuffer.html) buffer; buffer.setBuffer(&byteArray); buffer.open([QIODevice](qiodevice.html).WriteOnly); buffer.seek(3); buffer.write("def", 3); buffer.close(); // byteArray == "abcdef" ``` If _byteArray_為0時,緩存器創建其自己的內部[QByteArray](qbytearray.html)去努力。這個字節數組初始為空。 **See also** [buffer](qbuffer.html#buffer)( )[setData](qbuffer.html#setData)()和[open](qbuffer.html#open)( ) 。 ``` QBuffer.setData (self, QByteArray?data) ``` 設置內部緩沖區的內容被_data_。這是相同的分配_data_至[buffer](qbuffer.html#buffer)( ) 。 什么都不做,如果[isOpen](qiodevice.html#isOpen)()是真實的。 **See also** [data](qbuffer.html#data)()和[setBuffer](qbuffer.html#setBuffer)( ) 。 ``` QBuffer.setData (self, str?adata) ``` 這是一個重載函數。 設置內部緩沖區的內容是第一_size_字節_data_。 ``` int QBuffer.size (self) ``` 從重新實現[QIODevice.size](qiodevice.html#size)( ) 。 ``` int QBuffer.writeData (self, str?data) ``` 從重新實現[QIODevice.writeData](qiodevice.html#writeData)( ) 。
                  <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>

                              哎呀哎呀视频在线观看