zoukankan      html  css  js  c++  java
  • Qt编译报错:“Signal and slot arguments are not compatible.”当信号函数和槽函数带参数时,建议使用旧语法写信号槽连接。

    当信号函数和槽函数有参数时,使用旧语法写信号/槽连接比新语法更容易发现错误。

    QT5新语法写信号/槽连接,比如:

    connect(Device::getInstance(), &Device::sig_sendData, this, &Tool::slot_receiveData);

    旧语法写信号/槽连接,比如:

    connect(Device::getInstance(), SIGNAL(sig_sendData(QString,int)), this, SLOT(slot_receiveData(QString, int));

     当修改了信号/槽函数其中一个函数的参数类型,而未修改另一个函数的参数类型时,例如:

    信号函数sig_sendData(QString, int)变成了sig_sendData(QString, QByteArray),槽函数的参数类型未做相应的修改。

    新语法编译时会报错“Signal and slot arguments are not compatible.”,但是不会定位到错误发生的具体的信号/槽连接处,给调试和寻找错误带来了很大的不方便。

    旧语法则会直接在信号/槽连接那里就报错,便于发现问题。

  • 相关阅读:
    c++中sort()及qsort()的用法总结
    POJ的层次感分类
    DFS练习-HDU1010
    Dijkstra&&Floyd
    DFS练习一---HDU 1342
    快速幂取模算法
    树的实现
    C++的队列和pair
    BFS练习-POJ.2386
    Codeforces 1139E(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/grebamboo/p/13958631.html
Copyright © 2011-2022 走看看