How to access QSqlRelationalModel from function?
-
I found the guilty!!With the debugger.
It's a combo box which calls the function at oncurrentIndexChanged event!
This means that when a combo gets data from a model, the oncurrentIndexChanged event is called!!
How can I fix this?@Panoss
I think its by design.
When it get data, the current
index is changed so its correct to
emit the signal.
Check current index before and after and see.Most likely its 100% correct and you might need to use other signal or
wait until after the data load to set the connect.ps. Good work with debugger :)
-
Can I do something like this?
ui.type_search_cbo->cancelEventoncurrentIndexChanged; ui.type_search_cbo->setModel(model); ui.type_search_cbo->resetEventoncurrentIndexChanged;
(nice code, eh?)
well i would prefer if you could just wait to connect the slots
so its ok it says index changed.There is
http://doc.qt.io/qt-5/qobject.html#blockSignalsbut again, you are fixing a symptom so it not the best.
-
Yes, it works with block signals.
So, this is not the correct remedy?How could I wait to connect the slots?
I don't want just to fix the symptom, I want to do it properly. -
It's a slot for a combo:
void RepairDevices::on_type_search_cbo_currentIndexChanged(int index) { refresh_devices_search_tbl(); }
@Panoss said in How to access QSqlRelationalModel from function?:
Ah you are using the auto connect feature?
you do not have connect( xxxx) , correct ? -
No, I don't even know what autoconnect is.
I have no connect( xxxx) for this function.
(unless you 're meaning that this way, it 's autoconnected)