在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!"

QT 传递QBytearray

原文地址: https://www.cveoy.top/t/topic/hbWw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录