如何在QComboBoxes中禁止相等的索引

时间:2014-07-23 21:11:55

标签: qt

我有很多QComboBox个。假设我们有一个combobox索引为i,另一个combobox索引为j。如果用户在第一个j中激活索引combobox,我希望将第二个combobox索引更改为i,以便所有comboboxes中没有相同的索引。最简单的方法是什么?我尝试用SIGNALS AND SLOTS方法做到这一点:

    for(int i=0;i<boxes.size();++i){
    connect(boxes[i], SIGNAL(activated(int)),this,SLOT(boxIndexChanged(int)));
}

其中boxesQList<QComboBox*>这里的问题是我不知道slot函数boxIndexChanged(int index) combobox已发出信号(我需要)在两个combobox)中存在相同索引的情况下。

1 个答案:

答案 0 :(得分:1)

您至少有两个选择:

  • 使用QObject::sender()获取指向发出信号的对象的指针。请注意,这是一种简单但不推荐的方式(参见方法文档)。

  • 使用QSignalMapper