1

我有子类 qstyleeditemdelegate

在 col==1 和 col==2 我创建了 Qdoublespinxboxs,我想发出我的 valuechanged

Qdoublespinxbox,计算小计( col1 * col2 )

意思是:在代表之外

每次 Qdoublespinxbox 的值发生变化时,我都会更新值小计

4

2 回答 2

4

在您的委托类中创建一个插槽:

void My_delegate::valueChanged() {
  emit commitData(sender());
}

My_delegate::createEditor将 spinbox 的valueChanged()信号连接到My_delegate::valueChanged.

确保该setEditorData方法在您的委托类中正确实现。在这种方法中,您应该根据 spinbox 的值设置模型的数据。这个方法会在你发出时自动调用commitData

现在,当用户编辑旋转框时,数据会立即进入模型。您可以使用模型的dataChanged信号来跟踪数据更改。

于 2013-09-29T13:09:15.943 回答
2

您可以将信号添加到您的 QStyledItemDelegate 子类,在setModelData()重新实现中发出。信号应该有关于新值和可能的数据位置的信息。在其他类中捕获该信号并更新值小计。

于 2013-09-29T12:16:24.397 回答