VK
Size: a a a
VK
AS
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include <chrono>
#include <thread>
class Mediator : public QObject {
Q_OBJECT;
public:
Mediator(QObject* parent = nullptr) : QObject(parent) {}
signals:
void ready(QVariant data);
public:
void send(QVariant data) { emit ready(data); }
};
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
qSetMessagePattern("%{category} %{time boot} %{threadid} %{message}");
Mediator m;
QObject::connect(&m, &Mediator::ready, &m, [&](QVariant data) {
qDebug() << "receive" << data;
a.quit();
});
std::thread([&]() {
qDebug() << "wait";
std::this_thread::sleep_for(std::chrono::seconds{5});
qDebug() << "send";
m.send(QVariant("read"));
}).detach();
return a.exec();
}
#include "main.moc"
Е
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include <chrono>
#include <thread>
class Mediator : public QObject {
Q_OBJECT;
public:
Mediator(QObject* parent = nullptr) : QObject(parent) {}
signals:
void ready(QVariant data);
public:
void send(QVariant data) { emit ready(data); }
};
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
qSetMessagePattern("%{category} %{time boot} %{threadid} %{message}");
Mediator m;
QObject::connect(&m, &Mediator::ready, &m, [&](QVariant data) {
qDebug() << "receive" << data;
a.quit();
});
std::thread([&]() {
qDebug() << "wait";
std::this_thread::sleep_for(std::chrono::seconds{5});
qDebug() << "send";
m.send(QVariant("read"));
}).detach();
return a.exec();
}
#include "main.moc"
AS
Е
AS
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include <chrono>
#include <thread>
class Mediator : public QObject {
Q_OBJECT;
public:
Mediator(QObject* parent = nullptr) : QObject(parent) {}
signals:
void ready(QVariant data);
public:
void send(QVariant data) { emit ready(data); }
};
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
qSetMessagePattern("%{category} %{time boot} %{threadid} %{message}");
Mediator m;
QObject::connect(&m, &Mediator::ready, &m, [&](QVariant data) {
qDebug() << "receive" << data;
a.quit();
});
std::thread([&]() {
qDebug() << "wait";
std::this_thread::sleep_for(std::chrono::seconds{5});
qDebug() << "send";
m.send(QVariant("read"));
}).detach();
return a.exec();
}
#include "main.moc"
default 251061.723 18964 wait
default 251066.733 18964 send
default 251066.733 6000 receive QVariant(QString, "read")
AS
ПК
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include <chrono>
#include <thread>
class Mediator : public QObject {
Q_OBJECT;
public:
Mediator(QObject* parent = nullptr) : QObject(parent) {}
signals:
void ready(QVariant data);
public:
void send(QVariant data) { emit ready(data); }
};
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
qSetMessagePattern("%{category} %{time boot} %{threadid} %{message}");
Mediator m;
QObject::connect(&m, &Mediator::ready, &m, [&](QVariant data) {
qDebug() << "receive" << data;
a.quit();
});
std::thread([&]() {
qDebug() << "wait";
std::this_thread::sleep_for(std::chrono::seconds{5});
qDebug() << "send";
m.send(QVariant("read"));
}).detach();
return a.exec();
}
#include "main.moc"
AS
ПК
Q_DECLARE_METATYPE(nlohman::json);
qRegisterMetaType<nlohman::json>();
nlohman::json
в сигнал непосредственно?AS
Q_DECLARE_METATYPE(nlohman::json);
qRegisterMetaType<nlohman::json>();
nlohman::json
в сигнал непосредственно?a public default constructor,
a public copy constructor, and
a public destructor.
AS
ПК
a public default constructor,
a public copy constructor, and
a public destructor.
AS
MyCustomType o;
QVariant v = QVariant::fromValue(o);
MyCustomType o2 = v.value<MyType>();
ПК
MyCustomType o;
QVariant v = QVariant::fromValue(o);
MyCustomType o2 = v.value<MyType>();
AS