繁体   English   中英

调用`QMap :: insert(…)`时,如何使QMap对象发出信号?

[英]How can I make a QMap object emit a signal when `QMap::insert(…)` is called?

很简单的问题。

QMap不继承QObject ,所以我想知道是否有一种简便的Qt方法使其emit mySignal(MyEnum state)

如果您问为什么我在调用函数QMap::insert(...)时不仅仅在代码中发出信号,那是因为这是在模板中完成的……““”“我认为”“”是不可能的:

http://doc.qt.io/archives/qt-4.8/templates.html

如果有帮助,我正在使用的QMap对象是全局的,将在线程之间使用。

这很容易:

class MyMap : public QObject
{
     Q_OBJECT;
public slots:
    void insert(... key, ... value)
    {
        _map.insert(key, value);
        emit isInserted(key);
    }
signals:
    void isInserted(... key);
private:
    QMap<..., ...> _map;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM