2016-08-02 4 views
0

私は、TableViewの使用を必要とするプロジェクトの作業を開始しました。私のテーブルには3つの列があり、最後の列にはcomboBoxがあります。デリゲートの使用私はcomboBoxを設定し、comboBoxのインデックスステータスが変更されたときに信号を取得することができました。問題は、魔女のcomboBoxから信号が発信されていることを特定できないことです。デリゲートからの信号

私がメインウィンドウに信号を送る場合、comboBoxのQStringは非常に悪いようです。私は、各行から行のインデックスをコンボボックスに挿入するソリューションを考えていました。行+名前のようなもの。

は、私はそのようなのような別のポストからのアドバイスを使用して接続を開始:

signals: 
    void boxDataChanged(const int & str); 

で作成エディタ:

QComboBox * editor = new QComboBox(parent); 
    editor->addItem("This"); 
    editor->addItem("is"); 
    editor->addItem("nice"); 

    connect(editor, SIGNAL(currentIndexChanged(int)), this, SIGNAL(boxDataChanged(int))); 

    return editor; 

などと呼ばれる:これは

connect(mydelegate, &Delegate::boxDataChanged, [=](const int & str) 
{ 
     qDebug() << str; 
}); 

を働いていますいいですが、私はまた、これが来ている魔女の行から知る必要があります。

答えて

1

問題は私が魔法使いのcomboBoxから識別できないことです。信号は から発せられています。

QObject::senderを使用すると、信号の送信元を取得できます。 希望のタイプにキャストできるQObjectが返されます。

関連する問題