[Qgis-developer] Qgis standalone apps

Giuseppe Sucameli brush.tyler at gmail.com
Wed Sep 15 09:33:00 EDT 2010


oops... sys.argv :)

On Wed, Sep 15, 2010 at 2:58 PM, Massimo Di Stefano <massimodisasha at yahoo.it
> wrote:

> Hi Giuseppe,
>
> i tried with the "args" variable,
> i have :
>
>
> MacBook-Pro-15-di-sasha:~ sasha$ python /qgistry.py
> Traceback (most recent call last):
>   File "/qgistry.py", line 66, in <module>
>     app = MainApp(sys.args)
> AttributeError: 'module' object has no attribute 'args'
>
>
> so i tried also without the "args" value,
> what i'm missing ?
>
> thanks to help me,
>
> Massimo.
>
>
> Il giorno 15/set/2010, alle ore 14.16, Giuseppe Sucameli ha scritto:
>
> Hi Massimo,
> as I wrote to you:
>
> class MainApp(QApplication):
>     def __init__(self, args):
>         QApplication.__init__(self, args)
>         wdg = MyWdg()
>         wdg.show()
>         self.exec_()
>
> if __name__ == "__main__":
>         import sys
>     app = MainApp(sys.args)
>
> That is, you missed the "args" variable ;)
> Cheers.
>
>
> On Wed, Sep 15, 2010 at 1:52 PM, Massimo Di Stefano <
> massimodisasha at yahoo.it> wrote:
>
>> sorry, i correct the link to the code i'm tring.
>> my apologize :-/
>>
>> this one should work :
>>
>> http://www.geofemengineering.it/data/qgistry.py
>>
>>
>> Il giorno 15/set/2010, alle ore 12.21, Massimo Di Stefano ha scritto:
>>
>> Hello All,
>>
>>
>> i'm tring to apply the changes you suggest me .. but with no good results
>> (again my fault)
>>
>> i tried to change the code to :
>>
>> http://www.geogemengineering.it/data/qgistry.py
>>
>> but i got :
>>
>> python /qgistry.py
>> Traceback (most recent call last):
>>   File "/qgistry.py", line 68, in <module>
>>     app = MainApp()
>>   File "/qgistry.py", line 61, in __init__
>>     QApplication.__init__(self)
>> TypeError: arguments did not match any overloaded call:
>>   QApplication(list-of-str): not enough arguments
>>   QApplication(list-of-str, bool): not enough arguments
>>   QApplication(list-of-str, QApplication.Type): not enough arguments
>>
>>
>> can you help me to have it running ?
>>
>> thanks a lot !!!
>>
>> Massimo.
>>
>>
>> Il giorno 10/set/2010, alle ore 02.07,
>> qgis-developer-request at lists.osgeo.org ha scritto:
>>
>> Hi Massimo,
>>
>> On Fri, Sep 10, 2010 at 12:10 AM, Massimo Di Stefano <
>> massimodisasha at yahoo.it> wrote:
>>
>> Hi All,
>>
>>
>> i'm tring to start some coding on the qgis api
>>
>> i'm on osx 10.6.4 running qgis 1.6
>>
>>
>> following the example from :
>>
>>
>>
>>
>> http://mapserver.sk/~wonder/qgis/html<http://mapserver.sk/%7Ewonder/qgis/html>
>> /canvas.html#using-map-tools-with-canvas<
>> http://mapserver.sk/%7Ewonder/qgis/html/canvas.html#using-map-tools-with-canvas
>> >
>>
>>
>> it works fine if i call it from a qgis-python shell
>>
>>
>> but i tried to make small changes to have it running as a standalone
>>
>> application,
>>
>>
>> i eliminated the "layer" from the init line :
>>
>>
>> QMainWindow.__init__(self)
>>
>>
>> used a custom extent :
>>
>>
>> self.canvas.setExtent('15.1845401903089403,40.6214856769878665 :
>>
>> 15.2339879807105998,40.6477493100907381')
>>
>>
>> and commented out the line :
>>
>>
>> #self.canvas.setLayerSet( [ QgsMapCanvasLayer(layer) ] )
>>
>>
>> then from a standard python shell, i tried :
>>
>>
>> import mywnd
>>
>> dir(mywnd)
>>
>> ['MyWnd', 'QAction', 'QMainWindow', 'QString', 'QgisInterface',
>>
>> 'QgsAnnotationItem', 'QgsColorButton', 'QgsColorButtonV2',
>>
>> 'QgsComposerView', 'QgsEncodingFileDialog', 'QgsFormAnnotationItem',
>>
>> 'QgsGenericProjectionSelector', 'QgsLegendInterface', 'QgsMapCanvas',
>>
>> 'QgsMapCanvasItem', 'QgsMapCanvasLayer', 'QgsMapCanvasMap',
>>
>> 'QgsMapCanvasSnapper', 'QgsMapOverviewCanvas', 'QgsMapTip', 'QgsMapTool',
>>
>> 'QgsMapToolEmitPoint', 'QgsMapToolPan', 'QgsMapToolZoom',
>>
>> 'QgsMessageViewer', 'QgsProjectBadLayerGuiHandler',
>> 'QgsProjectionSelector',
>>
>> 'QgsQuickPrint', 'QgsRendererV2PropertiesDialog', 'QgsRendererV2Widget',
>>
>> 'QgsRubberBand', 'QgsStyleV2ManagerDialog', 'QgsSymbolLayerV2Widget',
>>
>> 'QgsSymbolV2PropertiesDialog', 'QgsSymbolV2SelectorDialog',
>>
>> 'QgsTextAnnotationItem', 'QgsVertexMarker', 'Qt', 'SIGNAL',
>> '__builtins__',
>>
>> '__doc__', '__file__', '__name__', '__package__']
>>
>> w = mywnd.MyWnd()
>>
>> QWidget: Must construct a QApplication before a QPaintDevice
>>
>> Abort trap
>>
>>
>> the MyWnd is a QWidget.
>>
>> You must create a QApplication instance and only after this you can
>> show widgets within it.
>>
>> Here an example (main.py):
>>
>>
>> from PyQt4.QtGui import QApplication
>> from mywdg import MyWdg
>>
>> class MainApp(QApplication):
>>    def __init__(self, args):
>>        QApplication.__init__(self, args)
>>        wdg = MyWdg()
>>        wdg.show()
>>        self.exec_()
>>
>> if __name__ == "__main__":
>>        import sys
>>    app = MainApp(sys.args)
>>
>>
>> Then open a terminal and run: python main.py
>> and if all went fine you can see your widget.
>>
>> Cheers.
>>
>>
>>
>>  it give me a python crash ... obviously i'm missing something basilar,
>>
>>
>> have you any clue on what i need to change to have the example working
>>
>> outside qgis ?
>>
>>
>>
>> thanks a lot !!!
>>
>>
>> regards,
>>
>>
>> Massimo
>>
>>
>>
>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>>
>
>
> --
> Giuseppe Sucameli
>
>
>


-- 
Giuseppe Sucameli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20100915/944eb3c3/attachment.html


More information about the Qgis-developer mailing list