Есть класс: header
Код | #ifndef MEMORY_H #define MEMORY_H
class memoryShared { public: memoryShared();
public slots: void to(); void from();
};
#endif // MEMORY_H
|
source
Код | #include "memory.h" #include <QSharedMemory> #include <QDebug> #include <QBuffer> #include <QDataStream>
QString string; QSharedMemory sharedMemory;
void to(){ // load into shared memory QBuffer buffer; buffer.open(QBuffer::ReadWrite); QDataStream out(&buffer); string = "start start start"; out << string; int size = buffer.size();
if (!sharedMemory.create(size)) { //ui.label->setText(tr("Unable to create shared memory segment.")); return; } sharedMemory.lock(); char *to = (char*)sharedMemory.data(); const char *from = buffer.data().data(); memcpy(to, from, qMin(sharedMemory.size(), size)); sharedMemory.unlock(); }
void from() { /*if (!sharedMemory.attach()) { ui.label->setText(tr("Unable to attach to shared memory segment.\n" \ "Load an image first.")); return; }*/
QBuffer buffer; QDataStream in(&buffer);
sharedMemory.lock(); buffer.setData((char*)sharedMemory.constData(), sharedMemory.size()); buffer.open(QBuffer::ReadOnly); in >> string; sharedMemory.unlock();
sharedMemory.detach(); //ui.label->setPixmap(QPixmap::fromImage(image)); }
|
Как получить доступ к методам to или from этого класса из другого класса?
На примере напишите. |