知识库

wiki.linsakura.com

用户工具

站点工具


wiki:dev:qt:note:connect_overload

这是本文档旧的修订版!


重载信号信号槽连接

例如QButtonGroup有两个同名不同参数的信号,用指针方式关联信号槽会有问题:

Q_SIGNALS:
    void buttonClicked(QAbstractButton *);
    void buttonClicked(int);

可用继续用旧的SIGNAL()SLOT()方式,也可以用下面的方式:

connect(m_processButtonGroup, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
        this, static_cast<void(ProcessSelection::*)(int)>(&ProcessSelection::slotProcessButtonClicked), Qt::UniqueConnection);
connect(m_processButtonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked), this, &ProcessSelection::slotProcessButtonClicked);
wiki/dev/qt/note/connect_overload.1715333621.txt.gz · 最后更改: 2024/05/10 17:33 由 博丽幻月