qt翻译--QBuffer

   QBuffer Class Reference

该类提供一个 QIODevice 接口为一个 QByteArray
#include <QBuffer>
继承 QIODevice
注意:该类所以的函数是可重入的
公公函数:
QBuffer  ( QObject * parent = 0 )
QBuffer  ( QByteArray * byteArray, QObject * parent = 0 )
~QBuffer  ()
QByteArray &
buffer  ()
const QByteArray &
buffer  () const
const QByteArray &
data  () const
void
setBuffer  ( QByteArray * byteArray )
void
setData  ( const QByteArray & data )
void
setData  ( const char * data, int size )
重现实现公共函数:
virtual bool
atEnd  () const
virtual bool
canReadLine  () const
virtual void
close  ()
virtual bool
open  ( OpenMode flags )
virtual qint64
pos  () const
virtual bool
seek  ( qint64 pos )
virtual qint64
size  () const
重新实现受保护的函数:
virtual qint64
readData  ( char * data, qint64 len )
virtual qint64
writeData  ( const char * data, qint64 len )
详细描述:
QBuffer 允许你来存取一个 QByteArray 通过使用 QIODevice 接口。 QByteArray 被对待作为一个标准的随机存取文件。
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 缓存被建立当你创造一个 QBuffer 。你能存取这个 buffer 通过调用 buffer ()。你也能使用 QBuffer 用一个存在的 QByteArray 通过调用 setBuffer (),或者通过传递你的数组到 QBuffer 的构造函数
调用 open ()来打开 buffer ,然后调用 write ()或者 putChar ()来写 buffer Read (), readLine (), readALL ()或者 getChar ()来读。 Size ()返回目前 buffer 的大小,你能寻找任意的位置在这个 buffer 通过调用 seek ()。当你退出时,调用 close ()。
下面的代码片段展示怎样写数据到一个 QByteArray 通过使用 QDataStream QBuffer
QByteArray byteArray;
      
     QBuffer buffer(&byteArray);
      
     buffer.open(QIODevice::WriteOnly);
      

    
      
    
     QDataStream out(&buffer);
      
     out << QApplication::palette();
      
有效地,我们转换应用的 QPalette 到一个字节数组。下面是读数据
QPalette palette;
      
     QBuffer buffer(&byteArray);
      
     buffer.open(QIODevice::ReadOnly);
      

    
      
    
     QDataStream in(&buffer);
      
     in >> palette;
      
QTextStream QDataStream 也提供方便的构造函数来在幕后构建 QByteArray 来创造一个 QBuffer
QBuffer 发信号 readRead (),当心的数据到达。通过连接这个信号,你能使用 QBuffer 来存储缓存数据在处理他之前。例如,你能传递 buffer QFtp 当下载一个文件从一个 FTP 服务器。当一个新的数据负荷已经被下载, readRead ()被发出,你能处理数据当他到达后。 QBuffer 也发出 bytesWritten ()每当新数据已经被写入 buffer 时。
 
成员函数文件:

QBuffer::QBuffer ( QObject * parent = 0 )

QBuffer::QBuffer ( QByteArray * byteArray, QObject * parent = 0 )

 
例子:
QByteArray byteArray("abc");
      
     QBuffer buffer(&byteArray);
      
     buffer.open(QIODevice::WriteOnly);
      
     buffer.seek(3);
      
     buffer.write("def", 3);
      
     buffer.close();
      
     // byteArray == "abcdef"
      

QBuffer::~QBuffer ()

bool QBuffer::atEnd () const   [virtual]

QIODevice::atEnd()

QByteArray & QBuffer::buffer ()

返回一个引用到 QBuffer 的内部 buffer 。你能使用它来修改 QByteArray QBuffer 的后面

const QByteArray & QBuffer::buffer () const

bool QBuffer::canReadLine () const   [virtual]

void QBuffer::close ()   [virtual]

const QByteArray & QBuffer::data () const

bool QBuffer::open ( OpenMode flags )   [virtual]

qint64 QBuffer::pos () const   [virtual]

qint64 QBuffer::readData ( char * data, qint64 len )   [virtual protected]

bool QBuffer::seek ( qint64 pos )   [virtual]

void QBuffer::setBuffer ( QByteArray * byteArray )

例子
QByteArray byteArray("abc");
      
     QBuffer buffer;
      
     buffer.setBuffer(&byteArray);
      
     buffer.open(QIODevice::WriteOnly);
      
     buffer.seek(3);
      
     buffer.write("def", 3);
      
     buffer.close();
      
     // byteArray == "abcdef"
      

void QBuffer::setData ( const QByteArray & data )

void QBuffer::setData ( const char * data, int size )

qint64 QBuffer::size () const   [virtual]

qint64 QBuffer::writeData ( const char * data, qint64 len )   [virtual protected]

 

你可能感兴趣的:(职场,翻译,休闲,QBuffer)