[Qgis-developer] Open custom form from another form

Luca Lanteri mescal72 at gmail.com
Tue Jan 14 08:09:29 PST 2014


Hi denis,
thanks a lot for the tip,I'll try it immediately.

I know the brand new "1 to many" feature present in qgis 2.1 and it's
gorgeous, but as I know it works only with autogenerate forms, but I need
to use a custom forn because I have some code into it.

many thanks
Luca



2014/1/14 Denis Rouzaud <denis.rouzaud at gmail.com>

>  Hi Luca,
>
> The best way to do this, is to set your personnally designed UI file in
> the layer properties->field properties->attribute editor layout->provide ui
> file
>
> Then, you want to call qgis method to show a feature form:
>
> http://qgis.org/api/classQgisInterface.html#aff2467aa3cefd8fc5b59213f385b7180
>
> And you would need some processing to show it:
> 1. get feature id from the selected line
> 2. fetch the feature of the main layer
> 3. get the foreign key from one of its fields
> 4. fetch the corresponding feature
> 4. show the feature form with it
>
>
> Anyway, if I understand properly, you're trying to do something which has
> been recently added to QGIS (it's in the master version), it's 1:n
> relations.
> See here for more info:
> http://blog.vitu.ch/10112013-1201/qgis-relations
>
> Cheers,
>
> Denis
>
>
> On 14. 01. 14 16:50, Luca Lanteri wrote:
>
> Hi to all,
>
>  I need a help from a python guru. I'm trying to move my first steps with
> pyqgis.
>
>  I've got two qgis layer with a 1 to many relation. I create a custom
> form for the parent layer with a QTableWidget that contain the primary key
> of the child layer. Now I want to open another custom form with the data of
> the child record selected into the QTableWidget. I try to look up into the
> QGIS API Documentation but I'didn't find the solution to my problem.
>
>  Now I just can open form with this code, connected with a button:
>
>      path = os.path.dirname( os.path.abspath( __file__ ) )
>     uifile = os.path.join(path , my_form.ui')
>      window = uic.loadUi(uifile)
>     window.exec_()
>
>  how can I connect my form with the right data ?
> Can I use some method to select the right layer/record and open it in the
> form ?
>
>  Thanks in advance for any tips
>
>  Luca
>
>
> _______________________________________________
> Qgis-developer mailing listQgis-developer at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140114/2316a977/attachment.html>


More information about the Qgis-developer mailing list