Hi,

For problem number one, isn't editingFinished what you want ? (It comes from 
the QAbstractSpinBox)

Hope this helps
Samuel

On 8 janv. 2013, at 10:19, Danny Price wrote:

> I'm having trouble using the venerable QDataWidgetMapper class in my project.
> 
> I have a set of QDoubleSpinboxes mapped to indexes in my table model. I've 
> set the submit policy of the mapper to manual and connected the change 
> signals of the widgets to the submit slot so the data in the boxes is 
> committed when the user scrolls the mouse wheel or the keyboard (this is far 
> better than having to tab out of boxes for the data to be set).
> 
> There are two issues:
> 1) QDoubleSpinbox emits the valueChanged signal when the data is changed both 
> by the user and by the mapper which leads to an endless self-notification 
> loop. QDoubleSpinbox doesn't have a 'valueEdited' signal which is only 
> emitted when the user makes a change which is big limitation. To get around 
> this I've subclassed it and connected a custom 'userChanged' signal to the 
> embedded QLineEdit's textEdited signal which has forced me to change all my 
> client code.
> 
> Is there away to set the data mapper to disable signals (or ignore them) for 
> widgets under it's control when data is being set on them? By using 
> blockSignals? That would avoid the need to subclass.
> 
> 2) The data is quite complex and the model needs to edit some fields when 
> others change (e.g. they are proportionally related). It does this in the 
> dataChanged override and uses emit dataChanged signal when the other fields 
> change. This works fine the table view. The problem is that the data mapper 
> commits the data for ALL fields when the submit slot is called so the edits 
> by the model get wiped out. It's also inefficient.
> 
> Is there away to set the data mapper to only submit the data for a specific 
> field when it is edited instead of all of them? I've looked at the 
> implementation and all the important parts are hidden so subclassing is not 
> an option. I really shouldn't have to write my own version.
> 
> These simple design limitations (spinbox lacking a user-edited signal and 
> data widget mapper committing eveything) are a real pain. By contrast I could 
> do the whole thing in Cocoa (on the OSX) with bindings with only a few lines 
> of code.
> _______________________________________________
> Interest mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/interest

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to