PDA

View Full Version : best way to manage forms?



skuda
27th January 2009, 19:18
Hello,
i have been reading about qdatawidgetmapper and qsqltablemodel or qsqltablerelationalmodel but i am not sure any combination of them can fills my needs or if i could do in a better way.

For an example form that i would need to manage i have a customer table and an address table (because for every customer they can have > 1 addresses) so in the same form i would like to edit all the possible data of the customer.

I would like to do without using tables for the fields (well to select the address to edit i can use a table but only to populate the data in the correct widgets), QSqlTableModel or QSqlRelationalTableModel dont seems to fit very well in this scenario, am i supposed to create two different QSqlTableModel and other two different QDataWidgetMapper (one for every table implicated)?, and if i want to select the customer searching for it how could i do?, setting a filter in the two models? i am not interested in next or previous buttons and qdatawidgetmapper seems to be all about them.

It is this the best way to create database forms with qt? I am using PyQt now, i have been thinking about use SQLAlchemy to do this but i would like to go only with qt if it is possible because in the future maybe i will port the application to c++

Sorry if anything is not clear, my english is not very good :p

skuda
28th January 2009, 10:20
please anyone can give me any insights on this?

Kermit
3rd December 2009, 09:11
hi,


i've the same reflexion betwin QtSql module and sqlAlchemy

could you same me your choise, and if possible, your reason ( objective or subjective ) ??


thx


Kermit

skuda
3rd December 2009, 09:23
Hi,
i finally created a configurable sql model where you can use complex queries (with joins for example), define to what table belongs every column and later start doing changes (in a tableview or in widgets connected with qdatawidgetmapper to the same model) and in submit the model create and execute the correct update or insert query to the changes (changes to the data are in an internal cache for the model).

For populate the data of qdatawidgetmapper i use a select with the correct primary key (although i let use the arrows to change between i get the value of the next value and load directly) because i have any tables really large and do the initial load was memory and time intensive.

Regards,
Miguel Angel.

Kermit
7th December 2009, 08:38
hi,

thank you for your answer

in fact, between my post and your answer, i've decide to create a custom model ( with the help of QSqlRelationalTableModel c++ source code)

your answer confort my decision

thx

Kermit