本文整理汇总了C++中dataStream函数的典型用法代码示例。如果您正苦于以下问题:C++ dataStream函数的具体用法?C++ dataStream怎么用?C++ dataStream使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dataStream函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: dataStream
void ObjectConstraintBallSocket::deserialize(QByteArray serializedArguments) {
QDataStream dataStream(serializedArguments);
EntityDynamicType type;
dataStream >> type;
assert(type == getType());
QUuid id;
dataStream >> id;
assert(id == getID());
uint16_t serializationVersion;
dataStream >> serializationVersion;
if (serializationVersion != ObjectConstraintBallSocket::constraintVersion) {
assert(false);
return;
}
withWriteLock([&] {
quint64 serverExpires;
dataStream >> serverExpires;
_expires = serverTimeToLocalTime(serverExpires);
dataStream >> _tag;
dataStream >> _pivotInA;
dataStream >> _otherID;
dataStream >> _pivotInB;
_active = true;
});
开发者ID:ZappoMan,项目名称:hifi,代码行数:30,代码来源:ObjectConstraintBallSocket.cpp
示例2: SendData
nsresult SendData(const char * aData, nsIStreamListener* aListener, nsIRequest* request) {
nsresult rv;
nsCOMPtr<nsIStringInputStream> dataStream
(do_CreateInstance("@mozilla.org/io/string-input-stream;1", &rv));
NS_ENSURE_SUCCESS(rv, rv);
rv = dataStream->SetData(aData, strlen(aData));
NS_ENSURE_SUCCESS(rv, rv);
uint64_t avail = 0;
dataStream->Available(&avail);
uint64_t offset = 0;
while (avail > 0) {
uint32_t count = saturated(avail);
rv = aListener->OnDataAvailable(request, nullptr, dataStream,
offset, count);
if (NS_FAILED(rv)) return rv;
offset += count;
avail -= count;
}
return NS_OK;
}
开发者ID:MekliCZ,项目名称:positron,代码行数:25,代码来源:TestStreamConv.cpp
示例3: currentItem
void WidgetListing::startDrag( Qt::DropActions /*supportedActions*/ )
{
QListWidgetItem *item = currentItem();
QByteArray itemData;
QDataStream dataStream( &itemData, QIODevice::WriteOnly );
int i_type = item->data( Qt::UserRole ).toInt();
int i_option = parent->getOptions();
dataStream << i_type << i_option;
/* Create a new dragging event */
QDrag *drag = new QDrag( this );
/* With correct mimedata */
QMimeData *mimeData = new QMimeData;
mimeData->setData( "vlc/button-bar", itemData );
drag->setMimeData( mimeData );
/* And correct pixmap */
QPixmap aPixmap = item->icon().pixmap( QSize( 22, 22 ) );
drag->setPixmap( aPixmap );
drag->setHotSpot( QPoint( 20, 20 ) );
/* We want to keep a copy */
drag->exec( Qt::CopyAction | Qt::MoveAction );
}
开发者ID:videolan,项目名称:vlc,代码行数:27,代码来源:toolbar.cpp
示例4: GetData
void
GPrefsMgr::GetInboxes
(
JPtrArray<JString>& inboxes
)
{
if (IDValid(kGInboxesID))
{
std::string data;
const JBoolean ok = GetData(kGInboxesID, &data);
assert( ok );
std::istringstream dataStream(data);
JSize count;
dataStream >> count;
inboxes.SetCompareFunction(CompareFileNames);
for (JIndex i=1; i<=count; i++)
{
JString* str = new JString;
assert( str != NULL );
dataStream >> *str;
if (!inboxes.InsertSorted(str, kJFalse))
{
delete str;
}
}
}
}
开发者ID:dllaurence,项目名称:jx_application_framework,代码行数:31,代码来源:GPrefsMgr.cpp
示例5: findPiece
void PuzzleWidget::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasFormat("image/x-puzzle-piece")
&& findPiece(targetSquare(event->pos())) == -1) {
QByteArray pieceData = event->mimeData()->data("image/x-puzzle-piece");
QDataStream dataStream(&pieceData, QIODevice::ReadOnly);
QRect square = targetSquare(event->pos());
QPixmap pixmap;
QPoint location;
dataStream >> pixmap >> location;
pieceLocations.append(location);
piecePixmaps.append(pixmap);
pieceRects.append(square);
highlightedRect = QRect();
update(square);
event->setDropAction(Qt::MoveAction);
event->accept();
if (location == QPoint(square.x()/pieceSize(), square.y()/pieceSize())) {
inPlace++;
if (inPlace == 25)
emit puzzleCompleted();
}
} else {
开发者ID:CodeDJ,项目名称:qt5-hidpi,代码行数:28,代码来源:puzzlewidget.cpp
示例6: load
void load(const std::string& ofileBase) {
std::string hashFN = ofileBase + ".bph";
std::string dataFN = ofileBase + ".val";
if ( !FileExists_(hashFN.c_str()) ) {
std::cerr << "BooM: Looking for perfect hash function file [" << hashFN << "], which doesn't exist! exiting.\n";
std::exit(1);
}
if ( !FileExists_(dataFN.c_str()) ) {
std::cerr << "BooM: Looking for key-value file [" << dataFN << "], which doesn't exist! exiting.\n";
std::exit(1);
}
// load the perfect hash function
{
boophf_.reset(new BooPHFT);
std::ifstream is(hashFN, std::ios::binary);
boophf_->load(is);
is.close();
}
// and the values
{
std::ifstream dataStream(dataFN, std::ios::binary);
{
cereal::BinaryInputArchive inArchive(dataStream);
inArchive(data_);
}
dataStream.close();
}
built_ = true;
}
开发者ID:COMBINE-lab,项目名称:RapMap,代码行数:31,代码来源:BooMap.hpp
示例7: dataStream
void TASARIM_DESIGN_WIDGET::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasFormat("application/x-dnditemdata")) {
QByteArray itemData = event->mimeData()->data("application/x-dnditemdata");
QDataStream dataStream(&itemData, QIODevice::ReadOnly);
QPoint offset;
dataStream >> offset;
m_last_move_label->move(event->pos() - offset);
SELECT_VARIABLE( m_last_move_label );
SET_LAST_SELECTED_VARIABLE( m_last_move_label );
emit VARIABLE_POSITION_CHANGED( m_last_move_label->objectName().split("\t").at(0).toInt(), m_last_move_label->pos().x(), m_last_move_label->pos().y() );
if (event->source() == this) {
event->setDropAction(Qt::MoveAction);
event->accept();
} else {
event->acceptProposedAction();
}
}
开发者ID:coolixwebgraphics,项目名称:FRAMEWORK,代码行数:25,代码来源:tasarim_design_widget.cpp
示例8: dataStream
void DragLabel::mousePressEvent(QMouseEvent *event)
{
// if(this->tempo_setup){ //desabilita ação de drag para labels que representarem tempo_setup de maquina
// //return;
// }
// qDebug() << "mousePressEvent called";
dragstart = event->pos();
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
//passar variavel tamanho como float zoa o drop
dataStream << labelText << tooltip << QPoint(event->pos() - rect().topLeft()) << (int)tamanho << cor.red() << cor.green() << cor.blue() << cor.alpha() << tempo_setup << coordenada;
QMimeData *mimeData = new QMimeData;
//pra que serve mimeData?
mimeData->setData("application/x-fridgemagnet", itemData);
mimeData->setText(labelText);
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setHotSpot(event->pos() - rect().topLeft());
drag->setPixmap(*pixmap());
hide();
//como funciona drag->exec() ?
if(drag->exec(Qt::MoveAction | Qt::CopyAction, Qt::CopyAction) == Qt::MoveAction)
close();
else
show();
}
开发者ID:roahanramesh,项目名称:testeqt,代码行数:32,代码来源:draglabel.cpp
示例9: contentsMargins
void DragTool::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
const QMargins margins = contentsMargins();
const QRect iconRect((width() - d->iconSize.width()) / 2, margins.top(),
d->iconSize.width(), d->iconSize.height());
if (iconRect.contains(event->pos())) {
auto drag = new QDrag(this);
auto mimeData = new QMimeData;
QByteArray data;
QDataStream dataStream(&data, QIODevice::WriteOnly);
dataStream << d->newElementId << d->title << d->stereotype;
mimeData->setData(QLatin1String(qmt::MIME_TYPE_NEW_MODEL_ELEMENTS), data);
drag->setMimeData(mimeData);
QPixmap pixmap = d->icon.pixmap(d->iconSize, QIcon::Normal, QIcon::Off);
QPainter painter(&pixmap);
painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
painter.fillRect(pixmap.rect(), QColor(0, 0, 0, 96));
drag->setPixmap(pixmap);
drag->setHotSpot(QPoint(drag->pixmap().width() / 2, drag->pixmap().height() / 2));
d->disableFrame = true;
update();
Qt::DropAction dropAction = drag->exec();
Q_UNUSED(dropAction);
d->disableFrame = false;
update();
}
}
}
开发者ID:C-sjia,项目名称:qt-creator,代码行数:31,代码来源:dragtool.cpp
示例10: dataStream
void DragWidgetBin::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasFormat("application/x-dnditemdata")) {
QByteArray itemData = event->mimeData()->data("application/x-dnditemdata");
QDataStream dataStream(&itemData, QIODevice::ReadOnly);
QPixmap pixmap;
QPoint offset;
dataStream >> pixmap >> offset;
if (event->source() == dragwidgetptr) {
if (draggedLabel->type == mQLabel::TRACK) {
return;
}
else {
dragwidgetptr->labelsInside.erase(draggedLabel);
std::vector<mQLabel*> toDelete;
for(std::set<mQLabel*>::iterator it = dragwidgetptr->tracksInside.begin(); it !=dragwidgetptr->tracksInside.end(); it++)
if((*it)->getConn1() == draggedLabel || (*it)->getConn2() == draggedLabel) {
toDelete.push_back(*it);
}
for(mQLabel *mQL : toDelete) {
dragwidgetptr->tracksInside.erase(mQL);
mQL->close();
}
}
draggedLabel->close();
draggedLabel = nullptr;
}
} else {
开发者ID:rideofyourlife,项目名称:TrainSim,代码行数:31,代码来源:dragwidgetbin.cpp
示例11: dataStream
void ObjectActionTravelOriented::deserialize(QByteArray serializedArguments) {
QDataStream dataStream(serializedArguments);
EntityDynamicType type;
dataStream >> type;
assert(type == getType());
QUuid id;
dataStream >> id;
assert(id == getID());
uint16_t serializationVersion;
dataStream >> serializationVersion;
if (serializationVersion != ObjectActionTravelOriented::actionVersion) {
assert(false);
return;
}
withWriteLock([&] {
dataStream >> _forward;
dataStream >> _angularTimeScale;
quint64 serverExpires;
dataStream >> serverExpires;
_expires = serverTimeToLocalTime(serverExpires);
dataStream >> _tag;
_active = (_forward != glm::vec3());
});
开发者ID:cozza13,项目名称:hifi,代码行数:30,代码来源:ObjectActionTravelOriented.cpp
示例12: dataStream
void SerialServer::processData(QByteArray& data)
{
QDataStream dataStream(&data, QIODevice::ReadOnly);
QString fileName;
QByteArray fileData;
dataStream >> fileName;
dataStream >> fileData;
if(fileName.isEmpty())
return;
QFileInfo fileInfo(fileName);
QString projectPath = createProject(fileInfo.baseName());
writeFile(projectPath + "/" + fileName, fileData);
QString mainFilePath = projectPath + "/" + fileName;
while(dataStream.status() == QDataStream::Ok) {
fileName.clear();
fileData.clear();
dataStream >> fileName;
dataStream >> fileData;
if(!fileName.isEmpty()) {
writeFile(projectPath + "/" + fileName, fileData);
}
}
emit downloadFinished(mainFilePath);
}
开发者ID:Craug,项目名称:cbc,代码行数:33,代码来源:SerialServer.cpp
示例13: dataStream
void ClusterSummaryWidget::dropEvent(QDropEvent *event)
{
std::cout << "dropping elemnents!!" << std::endl;
#if 0
event->ignore();
#else
if (event->mimeData()->hasFormat("clustering/ImageChar")) {
QByteArray pieceData = event->mimeData()->data("clustering/ImageChar");
QDataStream dataStream(&pieceData, QIODevice::ReadOnly);
CharClustIt senderIt;
quint64 address;
dataStream >> address;
senderIt = *(CharClustIt *)(address);
int nElements;
dataStream >> nElements;
std::vector<ImageCharIt> iterators;
for (int i=0; i<nElements; ++i) {
dataStream >> address;
ImageCharIt *pIt = (ImageCharIt *) address;
iterators.push_back(*pIt);
}
// move elemnts:
// std::cout << "moving elements from " << senderID << " to " << this->mClusterID << std::endl;
emit moveToCluster(senderIt, this->mClustIt, iterators);
// accept event
event->setDropAction(Qt::MoveAction);
event->accept();
} // end if accept
开发者ID:hashimmoosavi,项目名称:inventory-extraction,代码行数:33,代码来源:ClusterSummaryWidget.cpp
示例14: dataStream
void EntityTreeWidget::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() == Qt::LeftButton
&& (event->pos() - _startDragPos).manhattanLength() >= QApplication::startDragDistance())
{
EntityTreeWidgetItem * item = dynamic_cast<EntityTreeWidgetItem *>(currentItem());
if (item&&!item->isDisabled())
{
_dragEntity = item;
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
NtgEntityModel entityModel = _entityModelHash.value(item->text(1));
QPixmap pixmap = item->icon(0).pixmap(QSize(24,24));
dataStream << entityModel;
QMimeData * mimeData = new QMimeData;
mimeData->setData("netglub/x-node-model", itemData);
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setPixmap(pixmap);
Qt::DropAction dropAction = drag->exec(Qt::CopyAction);
Q_UNUSED(dropAction);
_dragEntity = NULL;
}
}
}
开发者ID:agnousse,项目名称:netglub,代码行数:26,代码来源:entitytreewidget.cpp
示例15: while
void PlayerCardListWidget::mousePressEvent(QMouseEvent *event)
{
PlayerCardWidget *child = static_cast<PlayerCardWidget*>(childAt(event->pos()));
if (!child)
return;
// Float up the hierachy until the PlayerCardWidget is found, or we hit the current widget
while ((!child->property("PlayerCardWidget").isValid()) && ((PlayerCardListWidget*)child != this)) {
child = static_cast<PlayerCardWidget*>(child->parent());
}
// If the child is not a PlayerCardWidget, return
if (!child->property("PlayerCardWidget").isValid())
return;
QPoint hotSpot = event->pos() - child->pos();
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
dataStream << child->playerNumber() << QPoint(hotSpot);
QMimeData *mimeData = new QMimeData;
mimeData->setData("application/x-chessplayer", itemData);
mimeData->setText(child->player()->name());
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setPixmap(QPixmap::grabWidget(child));
drag->setHotSpot(hotSpot);
child->hide();
if (drag->exec(Qt::MoveAction | Qt::CopyAction, Qt::CopyAction) == Qt::MoveAction)
child->close();
else
child->show();
}
开发者ID:mariusroets,项目名称:pairing,代码行数:33,代码来源:playercardlistwidget.cpp
示例16: dataStream
void ObjectActionSpring::deserialize(QByteArray serializedArguments) {
QDataStream dataStream(serializedArguments);
EntityActionType type;
dataStream >> type;
assert(type == getType());
QUuid id;
dataStream >> id;
assert(id == getID());
uint16_t serializationVersion;
dataStream >> serializationVersion;
if (serializationVersion != ObjectActionSpring::springVersion) {
return;
}
dataStream >> _positionalTarget;
dataStream >> _linearTimeScale;
dataStream >> _positionalTargetSet;
dataStream >> _rotationalTarget;
dataStream >> _angularTimeScale;
dataStream >> _rotationalTargetSet;
_active = true;
}
开发者ID:rabedik,项目名称:hifi,代码行数:27,代码来源:ObjectActionSpring.cpp
示例17: dataStream
size_t BlockCodeReadStream::LoadBlockTo(uint blockIndex, MemoryStream& output)const
{
size_t blockCount = mFileEntry->CoderOffsetsCount();
if (blockIndex < blockCount)
{
uint nextOffset = mFileEntry->CoderOffsets()[blockIndex];
uint prevOffset = 0;
if (blockIndex > 0)
{
prevOffset = mFileEntry->CoderOffsets()[blockIndex - 1];
}
mSourceStream->SetPosition(prevOffset);
#ifdef MEDUSA_SAFE_CHECK
if (nextOffset<=prevOffset)
{
Log::AssertFailedFormat("Invalid coder offsets:{}->{}", prevOffset, nextOffset);
return 0;
}
#endif
size_t size = nextOffset - prevOffset;
auto data = mSourceStream->ReadData(size);
MemoryStream dataStream(data);
return mCoderChain->Decode(dataStream, output);
}
return 0;
}
开发者ID:johndpope,项目名称:Medusa,代码行数:28,代码来源:BlockCodeReadStream.cpp
示例18: dataStream
void LiveDanmuHandler::parseDataToDanmu(QByteArray data)
{
if (!data.isNull() && !data.isEmpty())
{
QDataStream dataStream(&data, QIODevice::ReadOnly);
qint64 dataLength = data.length();
if (dataLength < 16)
{
emit actionPrepared(Intent(Intent::ACTION_LOG_ERROR,"接收到的数据异常"));
}
else if (dataLength > 16)
{
int givenLength;
dataStream >> givenLength;
if (dataLength == givenLength)
{
short param1, param2;
int action, param4;
dataStream >> param1 >> param2 >> action >> param4;
action -= 1;
// qDebug() << action;
if (action == 2)
{
int userCount;
dataStream >> userCount;
// qDebug() << userCount;
emit viewerCountChanged(userCount);
}
开发者ID:liuz430524,项目名称:BiliLiveTool,代码行数:28,代码来源:livedanmuhandler.cpp
示例19: dataStream
QMimeData *CollectionItemModel::mimeData(const QModelIndexList &indexes) const
{
if (indexes.isEmpty()) {
return 0;
}
QModelIndex index = indexes.first();
if (!index.isValid()) {
return 0;
}
if (m_shapeTemplateList.isEmpty()) {
return 0;
}
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
dataStream << m_shapeTemplateList[index.row()].id;
const KoProperties *props = m_shapeTemplateList[index.row()].properties;
if (props) {
dataStream << props->store("shapes");
} else {
dataStream << QString();
}
QMimeData *mimeData = new QMimeData;
mimeData->setData(SHAPETEMPLATE_MIMETYPE, itemData);
return mimeData;
}
开发者ID:ChrisJong,项目名称:krita,代码行数:32,代码来源:CollectionItemModel.cpp
示例20: dataStream
void MainWindow::recvMsg()
{
QTcpSocket * tcpSocket = (QTcpSocket*)sender();
QDataStream dataStream(tcpSocket);
QString str;
foreach(stUserInfo user,list)
{
if(user.pTcpSocket == tcpSocket)
{
// without connect message
str = processRecvMsg(tcpSocket);
ui->textEdit->append(str);
if(str.compare("Exit")==0||str.right(7).compare("SIGN_UP")==0 )
{
tcpSocket->close();
}
break;
}
}
/*
QByteArray arrIDChk(tcpSocket->readAll());
QString strIDChk(arrIDChk.data());
if(strIDChk.compare("김봉상") == 0)
{
}
*/
}
开发者ID:shadowgt,项目名称:ChatServer,代码行数:32,代码来源:mainwindow.cpp
注:本文中的dataStream函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论