我有子类qstyleditemdelegate
在col == 1和col == 2我有创建Qdoublespinxboxs,我想发出valuechanged of my
Qdoublespinxbox,计算小计(col1 * col2)
表示:代理人
每次Qdoublespinxbox的值发生变化时,我都会更新值小计
答案 0 :(得分:3)
在委托类中创建一个插槽:
void My_delegate::valueChanged() {
emit commitData(sender());
}
在My_delegate::createEditor
中将spinbox的valueChanged()
信号连接到My_delegate::valueChanged
。
确保在委托类中正确实现setEditorData
方法。在此方法中,您应该根据spinbox的值设置模型的数据。当您发出commitData
时,将自动调用此方法。
现在,当用户编辑一个旋转框时,数据会立即进入模型。您可以使用模型的dataChanged
信号来跟踪数据更改。
答案 1 :(得分:1)
您可以向QStyledItemDelegate子类添加信号,在 setModelData()重新实现中发出。信号应包含有关新值和可能的数据定位的信息。在其他类中捕获信号并更新值小计。