关于QT5 自定义信号槽 以及信号槽的重载问题
记录一下,自定义信号槽过程中遇到的错误。
注意这部分即可
**void(signaldemo:: *vcp)() = &(signaldemo::value_changed);
void(signaldemo:: *vcp2)(QString) = &(signaldemo::value_changed);
void(slotdemo:: nslot2)(QString) = &(slotdemo::slotfunc);
void(slotdemo:: nslot1)() = &(slotdemo::slotfunc);
#ifndef SIGNALDEMO_H
#define SIGNALDEMO_H
#include <QDebug>
#include <QObject>
class signaldemo:public QObject
{
Q_OBJECT
public:
signaldemo();
void senddd();
signals:
void value_changed();
void value_changed(QString );
};
#endif // SIGNALDEMO_H
```slot.cpp
#ifndef SLOTDEMO_H
#define SLOTDEMO_H
#include <QObject>
class slotdemo:public QObject
{
Q_OBJECT
public:
slotdemo();
public slots:
void slotfunc();
void slotfunc(QString);
};
#endif // SLOTDEMO_H
#include <QCoreApplication>
#include "signaldemo.h"
#include "slotdemo.h"
#include <QObject>
//#include <windows.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//qDebug()<<"starting";
signaldemo sd ;
// slotdemo st;
// void(slotdemo::*st)= &slotdemo::slotfunc;
// auto *sd = new signaldemo();
auto *st = new slotdemo();
void(signaldemo:: *vcp)() = &(signaldemo::value_changed);
void(signaldemo:: *vcp2)(QString) = &(signaldemo::value_changed);
void(slotdemo:: *nslot2)(QString) = &(slotdemo::slotfunc);
void(slotdemo:: *nslot1)() = &(slotdemo::slotfunc);
// QObject::connect(&sd,&signaldemo::value_changed,st,&slotdemo::slotfunc); //注意是否为信号和槽函数
QObject::connect(&sd,vcp2,st,nslot2);
QObject::connect(&sd,vcp,st,nslot1);
// QObject::connect(&sd,&signaldemo::value_changed,&st,&slotdemo::slotfunc);
//Sleep(1000);
sd.senddd();
return a.exec();
}
实现部分自己随便实现即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理