[Qgis-developer] Qgis standalone apps

Massimo Di Stefano massimodisasha at yahoo.it
Wed Sep 15 10:36:20 EDT 2010


Thanks Giuseppe,

it works fine, no crash on exit
all as aspected :-)


happy to start to code on qgis-python side :-)

my best regrads, and happy coding for the hackfest !!!


Ciao,

Massimo.



Il giorno 15/set/2010, alle ore 15.33, Giuseppe Sucameli ha scritto:

> 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/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/6653b96a/attachment.html


More information about the Qgis-developer mailing list