#include
"mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
qmemory.setKey ("zzw");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QString s="zzw123";
ui->label->setText (s);
QBuffer buffer;
buffer.open (QIODevice::ReadWrite);
QDataStream in(&buffer);
in<<s;
qmemory.create (s.size ());
qmemory.lock ();
char* to=(char*)qmemory.data ();
const char* from=buffer.data ().data ();
memcpy (to,from,qmemory.size ());
qmemory.unlock ();
}
void MainWindow::on_pushButton_2_clicked()
{
if( qmemory.isAttached ()){
QMessageBox::information(this,"info","attached");
}else{
qmemory.attach ();
QBuffer nbuffer;
nbuffer.setData((char*)qmemory.constData(), qmemory.size());
nbuffer.open (QIODevice::ReadWrite);
QDataStream out(&nbuffer);
QString s;
out>>s;
ui->label->setText (s);
qmemory.detach ();
}
}