首页 新闻 会员 周边 捐助

qt重载信号有没有办法用新的connect语法写啊

0
[已解决问题] 解决于 2024-11-18 19:45

connect(m_mapper, SIGNAL(mapped(QString)), this, SLOT(slotButtonClick(QString)));
发送给自定义的槽函数一个QString,是不是只有上面那一种方法能实现?

自己试了好几种方法,但是报错error: no matching member function for call to ‘connect‘

文姬的九命猫的主页 文姬的九命猫 | 菜鸟二级 | 园豆:230
提问于:2024-11-13 15:48
< >
分享
最佳答案
1

如果确实有错误:QOverload<QString>::of(&Mapper::mapped)

奖励园豆:5
寂静的羽夏 | 老鸟四级 |园豆:2133 | 2024-11-14 16:01

是的,信号被重载过必须要指明信号类型

文姬的九命猫 | 园豆:230 (菜鸟二级) | 2024-11-18 19:45
其他回答(2)
0

不会报错呀..你怎么用的

    m_mapper = new Mapper;
    connect(m_mapper, &Mapper::mapped, this, &MainWindow::do_mapped);

class Mapper : public QObject {
    Q_OBJECT
public:
    explicit Mapper(QObject *parent = nullptr);

signals:
    void mapped(QString);
};
www378660084 | 园豆:1248 (小虾三级) | 2024-11-13 17:45

这样写会报错:信号重载识别不了是哪个信号。必须要指定信号类型

支持(0) 反对(0) 文姬的九命猫 | 园豆:230 (菜鸟二级) | 2024-11-18 19:43
0

学习。。。。。。。。。。

tea2007 | 园豆:4 (初学一级) | 2024-11-14 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册