来自代表的信号

时间:2016-08-02 09:23:18

标签: c++ qt

我开始研究需要使用TableView的项目。我的表有3列,最后一列有一个comboBox。使用委托我设法设置comboBox并在组合框的索引状态发生变化时检索信号。问题是我无法从女巫组合框中识别信号是从哪里发出的。

如果我向mainWindow发出comboBox的QString信号,这似乎非常糟糕。我正在考虑一个解决方案,从每行插入行的索引到comboBox。类似行+名称的东西。

我使用其他帖子的建议启动连接,例如:

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 个答案:

答案 0 :(得分:1)

  

问题是我无法从女巫comboBox中识别信号   来自。

您可以使用QObject::sender来获取信号的发送者。 它将返回QObject,您可以将其转换为所需的类型。