QT开发中文网

C:\Users\SFM301\Documents\untitled4\mythread.cpp:13: error: C2664: “QMetaObject::Connection QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)”: 无法将参数 2 从“void (__cdecl QTimer::* )(QTimer::QPrivateSignal...

根据错误提示,看起来是在连接信号和槽时发生了问题。请确保您的信号和槽的参数类型匹配,并正确指定了连接的语法。

如果您的MyThread类有一个名为mySignal的自定义信号,接收一个int类型参数,然后将其连接到另一个对象的槽函数中,请确保以下几点:

  1. MyThread类中声明了该信号:
class MyThread : public QThread
{
    Q_OBJECT

signals:
    void mySignal(int data);

    // ...
};
  1. 您希望接收该信号并执行相应操作的对象(比如名为 objMyObject) 具有具有匹配参数类型和返回类型的槽函数(假设为 mySlot())。
class MyObject : public QObject
{
    Q_OBJECT

public slots:
    void mySlot(int data);

    // ...
};
  1. 在正确位置使用 QObject::connect() 来建立连接。示例代码如下:
MyObject obj;
MyThread thread;

QObject::connect(&thread, &MyThread::mySignal, &obj, &MyObject::mySlot);

请注意,如果您正在使用旧版本的Qt,可能需要使用旧版连接语法。例如:

QObject::connect(&thread, SIGNAL(mySignal(int)), &obj, SLOT(mySlot(int)));

根据您使用的Qt版本和实际情况进行相应调整。同时还要确保在类定义之前包含相应的头文件,以便信号和槽的声明能够正确解析。

如果问题仍然存在,请提供更多的相关代码,以便我们可以更具体地帮助您解决问题。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8783

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?