QT 传递QBytearray
在Qt中,可以使用信号槽机制来传递QByteArray。下面是一个简单的例子:
// 发送信号的类
class Sender : public QObject
{
Q_OBJECT
public:
Sender(QObject *parent = nullptr) : QObject(parent) {}
signals:
void dataReady(QByteArray data);
public slots:
void send()
{
QByteArray data("Hello, world!");
emit dataReady(data);
}
};
// 接收信号的类
class Receiver : public QObject
{
Q_OBJECT
public:
Receiver(QObject *parent = nullptr) : QObject(parent) {}
public slots:
void onDataReady(QByteArray data)
{
qDebug() << "Received data:" << data;
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Sender sender;
Receiver receiver;
QObject::connect(&sender, &Sender::dataReady, &receiver, &Receiver::onDataReady);
sender.send();
return a.exec();
}
在上面的例子中,Sender类发送了一个包含字符串"Hello, world!"的QByteArray,通过dataReady信号发送给Receiver类的onDataReady槽函数,最终在控制台输出"Received data: Hello, world!"
原文地址: https://www.cveoy.top/t/topic/hbWw 著作权归作者所有。请勿转载和采集!