• 130阅读
  • 2回复

[提问]怎么实现跨越对象异步调用信号-槽?Qt::QueuedConnection设置没用 [复制链接]

上一主题 下一主题
离线rt2017
 

只看楼主 倒序阅读 楼主  发表于: 12-06
为什么使用 Qt::QueuedConnection设置队列异步处理的时候,通过debug发现,居然不是异步处理,而是同步处理,这是什么回事????

class object1: public QMainWindow
{
    Q_OBJECT    
public slots:
    bool onMessageLogSlot(QString message);
};


class object2:public QObject
{
    Q_OBJECT
signals:
    void SendSignals(QString messge);
}

第一步:QObject::connect(&object2, &object2::SendSignals, object1, &object1::onMessageLogSlot, Qt::QueuedConnection);

第二步:object2:emit SendSignals(QString::fromLocal8Bit(messge.data()));

第三步:
bool object1::onMessageLogSlot(QString  message)
{
       //信号处理
    return true;
}


在线kaon

只看该作者 1楼 发表于: 12-06
你是如何观察判定异步/同步的?
离线yuyu414

只看该作者 2楼 发表于: 12-07
不同线程才可以异步,在一个线程里怎么异步
快速回复
限100 字节
 
上一个 下一个