スロット X に関連付けられた cellEntered(int,int) シグナルを持つ QTableWidget インスタンスがあります (セルが含まれる行を強調表示します)。また、チェックボックスを含む列が 1 つあります。
問題は、 QTableWidget::setCellWidget() メソッドを使用してテーブルのセルにチェックボックスを追加することです:
QTableWidgetItem *checkBoxItem = new QTableWidgetItem("");
ui->tableWidget->setItem(rowCount, column, checkBoxItem);
QCheckBox* checkBox = new QCheckBox();
ui->tableWidget->setCellWidget(rowCount, column, checkBox);
connect(checkBox, SIGNAL(clicked(bool)),
this, SLOT(checkbox_clicked(bool)));
カーソルがその列のセルの上にあるときに、スロット X が呼び出されないようにします。
この問題は特にチェック ボックスではなく、他の種類のウィジェットでも発生します。
いくつかの投稿で SignalMapper クラスについて読んだことがありますが、そのクラスはウィジェットからスロットにシグナルをマップするのに役立つようです。代わりに、私の問題はテーブルからの信号に関連しています。
なにか提案を?
乾杯、
パブロ