<div dir="ltr"><div class="gmail-post-text">

<p style="white-space:pre-wrap">Hello, I'm writing a QGIS plugin but I'm facing some basic problems. The 
plugin is a dockwidget. I've built it with plugin Builder and then 
compiled the resources file.</p>

<p style="white-space:pre-wrap">When I try to access the comboBox to populate it with values, an error happens:</p>

<blockquote>
  <p style="white-space:pre-wrap"><i>self.dockwidget.comboBox.clear()          AttributeError: 'NoneType' object
  has no attribute 'comboBox'</i></p>
</blockquote>

<p style="white-space:pre-wrap">I checked in the Qt _Designer the object name and it's comboBox. When
 I do the same with a dialog plugin, instead a dockwidget, everything 
seems to be right, and the comboBox is populated. This is the code for 
the run method.</p>

<pre class="gmail-lang-py gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-kwd">def</span><span class="gmail-pln"> run</span><span class="gmail-pun">(</span><span class="gmail-pln">self</span><span class="gmail-pun">):</span><span class="gmail-pln">
    </span><span class="gmail-str">"""Run method that loads and starts the plugin"""</span><span class="gmail-pln">
    self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget</span><span class="gmail-pun">.</span><span class="gmail-pln">comboBox</span><span class="gmail-pun">.</span><span class="gmail-pln">clear</span><span class="gmail-pun">()</span><span class="gmail-pln">
    </span><span class="gmail-kwd">for</span><span class="gmail-pln"> i </span><span class="gmail-kwd">in</span><span class="gmail-pln"> range</span><span class="gmail-pun">(</span><span class="gmail-lit">9</span><span class="gmail-pun">):</span><span class="gmail-pln">            
        self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget</span><span class="gmail-pun">.</span><span class="gmail-pln">comboBox</span><span class="gmail-pun">.</span><span class="gmail-pln">addItem</span><span class="gmail-pun">(</span><span class="gmail-pln">str</span><span class="gmail-pun">(</span><span class="gmail-pln">i</span><span class="gmail-pun">))</span><span class="gmail-pln">

    </span><span class="gmail-kwd">if</span><span class="gmail-pln"> </span><span class="gmail-kwd">not</span><span class="gmail-pln"> self</span><span class="gmail-pun">.</span><span class="gmail-pln">pluginIsActive</span><span class="gmail-pun">:</span><span class="gmail-pln">
        self</span><span class="gmail-pun">.</span><span class="gmail-pln">pluginIsActive </span><span class="gmail-pun">=</span><span class="gmail-pln"> </span><span class="gmail-kwd">True</span><span class="gmail-pln">

        </span><span class="gmail-com">#print "** STARTING PruebaExp"</span><span class="gmail-pln">

        </span><span class="gmail-com"># dockwidget may not exist if:</span><span class="gmail-pln">
        </span><span class="gmail-com">#    first run of plugin</span><span class="gmail-pln">
        </span><span class="gmail-com">#    removed on close (see self.onClosePlugin method)</span><span class="gmail-pln">
        </span><span class="gmail-kwd">if</span><span class="gmail-pln"> self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget </span><span class="gmail-pun">==</span><span class="gmail-pln"> </span><span class="gmail-kwd">None</span><span class="gmail-pun">:</span><span class="gmail-pln">
            </span><span class="gmail-com"># Create the dockwidget (after translation) and keep reference</span><span class="gmail-pln">
            self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget </span><span class="gmail-pun">=</span><span class="gmail-pln"> </span><span class="gmail-typ">PruebaExpDockWidget</span><span class="gmail-pun">()</span><span class="gmail-pln">

        </span><span class="gmail-com"># connect to provide cleanup on closing of dockwidget</span><span class="gmail-pln">
        self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget</span><span class="gmail-pun">.</span><span class="gmail-pln">closingPlugin</span><span class="gmail-pun">.</span><span class="gmail-pln">connect</span><span class="gmail-pun">(</span><span class="gmail-pln">self</span><span class="gmail-pun">.</span><span class="gmail-pln">onClosePlugin</span><span class="gmail-pun">)</span><span class="gmail-pln">

        </span><span class="gmail-com"># show the dockwidget</span><span class="gmail-pln">
        </span><span class="gmail-com"># TODO: fix to allow choice of dock location</span><span class="gmail-pln">
        self</span><span class="gmail-pun">.</span><span class="gmail-pln">iface</span><span class="gmail-pun">.</span><span class="gmail-pln">addDockWidget</span><span class="gmail-pun">(</span><span class="gmail-typ">Qt</span><span class="gmail-pun">.</span><span class="gmail-typ">LeftDockWidgetArea</span><span class="gmail-pun">,</span><span class="gmail-pln"> self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget</span><span class="gmail-pun">)</span><span class="gmail-pln">
        self</span><span class="gmail-pun">.</span><span class="gmail-pln">dockwidget</span><span class="gmail-pun">.</span><span class="gmail-pln">show</span><span class="gmail-pun">()</span></code></pre>

<p style="white-space:pre-wrap">I don't know if it's related, but when I try to create a signal this error is show:</p>

<blockquote>
  <p style="white-space:pre-wrap"><i>File "XXXXXXXXXXX/PruebaExp.py", line 176, in initGui
      self.dockwidget.signalBox.connect(self.enviadato) AttributeError: 'NoneType' object has no attribute 'signalBox'</i></p>
</blockquote>

<p style="white-space:pre-wrap">Same error when I try to acces a pushButton:

</p><p style="margin:0px 0px 0px 40px;text-indent:0px;white-space:pre-wrap"><i>File "/home/luismi/.qgis2/python/plugins/PruebaExp/PruebaExp.py", line 221, in run</i></p><div style="margin-left:40px">
</div><p style="margin:0px 0px 0px 40px;text-indent:0px;white-space:pre-wrap"><i>                       self.dockwidget.pushButton.clicked.connect(self.enviadato)</i></p><div style="margin-left:40px">
</div><p style="margin:0px 0px 0px 40px;text-indent:0px;white-space:pre-wrap"><i>                   AttributeError: 'NoneType' object has no attribute 'pushButton'</i></p><p style="white-space:pre-wrap">Maybe is due to something I missed during the building of the plugin. I'm using QGIS 2.18.14.</p>
    </div><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><span><font color="#888888"><span><font color="#888888">Luís Miguel Royo Pérez. <br>Analista-Programador GIS<br>Av. Blasco Ibañez nº 1. Manises (Valencia)<br>Teléfono: 679846103 <br>web: <a href="http://inisig.com" target="_blank">inisig.com</a></font></span></font></span><br><br></div></div></div>
</div>