簡體   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