Hi Duarte, if I understood well, you would like to simulate a click in QGIS buttons. For this you can use the slot trigger() of the available QAction's in the class QgisInteface [1]. For example, if you want to open the "Open Project..." dialog you can type this in the Python Console (inside QGIS):
iface=qgis.utils.iface iface.actionOpenProject().trigger() Regarding Toolbars, you can also access them from the QgisInterface class. For example, to access the Layer menu do this: iface=qgis.utils.iface m=iface.layerMenu() Since a menu consists of a set of actions you could trigger any action of the menu: iface=qgis.utils.iface m=iface.layerMenu() for a in m.actions(): print a.text() m.actions()[2].trigger() Hope this helps. Regards, Germán ------------------------- [1] http://www.qgis.org/api/classQgisInterface.html 2011/12/15 Duarte Carreira <[email protected]> > Just an additional question: generally speaking the gui is not accessible > from python? We cannot simulate a toolbar button click, or menu item?**** > > ** ** > > Duarte**** > > ** ** > > *De:* Duarte Carreira [mailto:[email protected]] > *Enviada:* quarta-feira, 14 de Dezembro de 2011 17:05 > *Para:* Germán Carrillo; [email protected] > *Assunto:* RE: [Qgis-developer] quick noob python question**** > > ** ** > > Germán, thanks.**** > > ** ** > > Maybe that’s what I’ll do, but it pains me to duplicate code…**** > > ** ** > > Duarte**** > > ** ** > > *De:* Germán Carrillo [mailto:[email protected]] > *Enviada:* quarta-feira, 14 de Dezembro de 2011 12:30 > *Para:* [email protected]; Duarte Carreira > *Assunto:* Re: [Qgis-developer] quick noob python question**** > > ** ** > > Hi Duarte, > > from my experience it is not possible. You can of course re-use the ui > file and implement the whole functionality on your own based on the cpp > file, basically a translation from C++ to Python. I've done this before and > it is not a complex process, but it requires time. > > By the way, the folder app of QGIS source code contains > QGIS-application-specific code, so I would say you won't find there > functionality available in PyQGIS, for that you would have to have a look > to the gui and core folders. > > Perhaps there are other ways to set the project file programmatically from > Python, but I don't know them, sorry. > > Regards, > > Germán**** > > 2011/12/14 Duarte Carreira <[email protected]>**** > > Using python is it possible to call QgsEmbedLayerDialog and set the > project file programmatically (mProjectFileLineEdit)?**** > > **** > > > https://github.com/qgis/Quantum-GIS/blob/release-1_8/src/app/qgsembedlayerdialog.cpp > **** > > > https://github.com/qgis/Quantum-GIS/blob/release-1_8/src/ui/qgsembedlayerdialogbase.ui > **** > > **** > > Thanks, > Duarte Carreira**** > > **** > > > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer**** > > -- > ----------- > |\__ > (:>__)( > |/ > > Soluciones Geoinformáticas Libres > http://geotux.tuxfamily.org/**** > -- ----------- |\__ (:>__)( |/ Soluciones Geoinformáticas Libres http://geotux.tuxfamily.org/
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
