<div dir="ltr"><div>Hey Luca,</div><div> </div><div>If all you want to do is load the attributes for a column from layer you can just do this:</div><div> </div><div>layer = QgsMapLayerRegistry.instance().mapLayersByName('yourname')[0]</div>

<div> </div><div>for feature in layer.getFeatures():</div><div>     combo.addItem(feature['columnname'])</div><div> </div><div>That will loop all the features and load the value from columnname into the combo.  You will have to add more smarts to that if you need more logic.</div>

<div> </div><div>If you are in your initFunction you already have the layer:</div><div> </div><div>def init(dialog, feature, layer):</div><div>  for feature in layer.getFeatures():</div><div>        .....</div><div> </div>

<div>Nathan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 20, 2013 at 10:03 PM, Luca Lanteri <span dir="ltr"><<a href="mailto:mescal72@gmail.com" target="_blank">mescal72@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi to all,<br>
<br>
I'm a newbie with pyqgis so apologize me for the trivial question. I'm<br>
trying to create a forms using QT and to add some intelligence into it<br>
using the "python Init function", present in the Layer properties -><br>
field menu. I want to update the data in combo2 on the base of the<br>
combo1 choosed value, but I encountered some problem, probably due to<br>
my lack of knowled of QGIS API. This is my first problems:<br>
<br>
I try to read some data from a layer using this code [1]. If the layer<br>
is a geometry layer all works fine but if I try to read the data from<br>
a table (without geom coloumn) i cant read the attributes. Both object<br>
are QgsVectorLayer so I though that I can use the same methods. In<br>
order to resolve this problem i just addes a geom coloum to my table<br>
but it's just a ploy.<br>
<br>
The second, and the very real problem, is that when I try to update<br>
the the value using the<br>
curLayer.changeAttributeValue() method some strange beaviours occours.<br>
- If i try to commit changes from the code (using<br>
curLayer.commitChanges() ), and I'm in the table form view, Qgis<br>
crash.<br>
- when I try to commit changes use the toogle editing mode button, and<br>
I'm in the table form view, all my changes are lost.<br>
- when I try to commit changes use the toogle editing mode button, and<br>
I'm just in the form view, changes are lost alternatively once on two<br>
saving operation.<br>
<br>
I don't understand if this is a problem of my code or a qgis bug.<br>
Any hint ?<br>
<br>
I hope to have described the problem clearly.<br>
thank in advance<br>
<br>
Luca<br>
<br>
<br>
[1]<br>
alegend = iface.legendInterface()<br>
allLayers=alegend.layers()<br>
    for i in allLayers:<br>
        if <a href="http://i.name" target="_blank">i.name</a>()=='mytab':<br>
            aLayer=i<br>
lista=[]<br>
rsTipo=[]<br>
for i in afeature:<br>
        a=i.attributes()<br>
        l1=i.attributes()[0]<br>
        l2=i.attributes()[1]<br>
        l3=i.attributes()[2]<br>
        l4=i.attributes()[3]<br>
        alist=[l1,l2,l3,l4]<br>
        rsTipo.append(alist)<br>
_______________________________________________<br>
Qgis-developer mailing list<br>
<a href="mailto:Qgis-developer@lists.osgeo.org">Qgis-developer@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote></div><br></div>