当前位置: 首页>>代码示例>>Python>>正文


Python QgsApplication.exitQgis方法代码示例

本文整理汇总了Python中qgis.core.QgsApplication.exitQgis方法的典型用法代码示例。如果您正苦于以下问题:Python QgsApplication.exitQgis方法的具体用法?Python QgsApplication.exitQgis怎么用?Python QgsApplication.exitQgis使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsApplication的用法示例。


在下文中一共展示了QgsApplication.exitQgis方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main(argv):

    # create Qt application
    app = QtGui.QApplication(argv, True)

    # Set the app style
    mySplashPix = QtGui.QPixmap(QtCore.QString(DATA_DIR + '/OCEAN.png'))
    mySplashPixScaled = mySplashPix.scaled(500, 300, Qt.Qt.KeepAspectRatio)
    mySplash = QtGui.QSplashScreen(mySplashPixScaled)
    mySplash.show()

    # initialize qgis libraries
    QgsApplication.setPrefixPath(QGIS_PREFIX, True)
    QgsApplication.initQgis()

    # create main window
    wnd = MainWindow(mySplash)
    wnd.show()

    # Create signal for app finish
    app.connect(
        app, QtCore.SIGNAL('lastWindowClosed()'), app, QtCore.SLOT('quit()'))

    # Start the app up
    retval = app.exec_()

    # We got an exit signal so time to clean up
    QgsApplication.exitQgis()

    sys.exit(retval)
开发者ID:gem,项目名称:qt-experiments,代码行数:32,代码来源:example_canvas.py

示例2: qgisapp

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def qgisapp(args=None, guienabled=True, configpath=None, sysexit=True):
    """
    Create a new QGIS Qt application.

    You should use this before creating any Qt widgets or QGIS objects for
    your custom QGIS based application.

    usage:
        from qgis.core.contextmanagers import qgisapp

        def main(app):
            # Run your main code block

            with qgisapp(sys.argv) as app:
                main(app)

    args - args passed to the underlying QApplication.
    guienabled - True by default will create a QApplication with a GUI. Pass
                 False if you wish to create no GUI based app, e.g a server app.
    configpath - Custom config path QGIS will use to load settings.
    sysexit - Call sys.exit on app exit. True by default.
    """
    if not args:
        args = []
    app = QgsApplication(args, guienabled, configpath)
    QgsApplication.initQgis()
    yield app
    if guienabled:
        exitcode = app.exec_()
    else:
        exitcode = 0
    QgsApplication.exitQgis()
    if sysexit:
        sys.exit(exitcode)
开发者ID:dwsilk,项目名称:QGIS,代码行数:36,代码来源:contextmanagers.py

示例3: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main():
    app = QtGui.QApplication(sys.argv, True)
    # supply path to where is your qgis installed
    QgsApplication.setPrefixPath("/usr", True)
    # load providers
    QgsApplication.initQgis()
    # print QgsApplication.showSettings()
    mw = MainWindow()
    try:
        mw.create_layer(DATA)
        mw.show()
        app.exec_()
    finally:
        QgsApplication.exitQgis()
开发者ID:gem,项目名称:qt-experiments,代码行数:16,代码来源:example_qgis.py

示例4: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main(argv):

    # create Qt application
    app = QtGui.QApplication(argv, True)

    # Set the app style

    # initialize qgis libraries
    QgsApplication.setPrefixPath(QGIS_PREFIX_PATH, True)
    QgsApplication.initQgis()

    # create main window
    wnd = MainWindow()
    wnd.show()

    # Start the app up
    retval = app.exec_()

    # We got an exit signal so time to clean up
    QgsApplication.exitQgis()

    sys.exit(retval)
开发者ID:gem,项目名称:qt-experiments,代码行数:24,代码来源:example_canvas_minimal.py

示例5: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main(argv):    
    names = []
    for n in LAYERS:
        names.append(QString(n))
    qgisPrefix =  homeDir()        
    QApplication.setOrganizationName("ICIMOD");
    QApplication.setOrganizationDomain("icimod.org");
    QApplication.setApplicationName("Glacial Lakes Viewer");

    app = QApplication(argv, True)
    splash = SplashScreen(qgisPrefix)
    splash.showMessage(unicode("starting..."))
    QgsApplication.setPrefixPath(qgisPrefix, True)
    QgsApplication.initQgis()        
    window = MainWindow(splash)
    window.mapCanvas.loadInitialLayers(splash)
    layers,rLayers = window.mapCanvas.getMapLayers(names)       
    window.show()    
    window.mapCanvas.refreshCanvas(splash,layers,rLayers)
    del splash

    app.exec_()
    QgsApplication.exitQgis()
开发者ID:mingxuli,项目名称:datatools,代码行数:25,代码来源:gglis.py

示例6: tearDownClass

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
    def tearDownClass( self ):   
        self.msg.show( "Info! TearDown started", 'info', True )
    
        # test07 deletes the layer object, so create it again
        self.layer = QgsVectorLayer( self.layerPath, 'puntos', 'ogr' )

        #Remove AutoField modified
        autoFieldId = self.autoFieldManager.buildAutoFieldId( self.layer, u'modified' )
        self.autoFieldManager.removeAutoField( autoFieldId )

        #Delete field f1
        fieldIndex = self.layer.fieldNameIndex('f1')
        self.layer.dataProvider().deleteAttributes( [fieldIndex] )
        self.layer.updateFields()
        
        #Delete features from test layer
        fIds = self.layer.allFeatureIds()
        self.layer.dataProvider().deleteFeatures( fIds )
        
        #Remove layer from Registry
        QgsMapLayerRegistry.instance().removeMapLayer( self.layer.id() )
        self.msg.show( "Info! TearDown finished", 'info', True )

        QgsApplication.exitQgis()
开发者ID:gacarrillor,项目名称:AutoFields,代码行数:26,代码来源:Tests.py

示例7: test

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def test(host, pguser):

    # create the test database
    os.system(f"dropdb --if-exists -h {host} -U {pguser} {wc_dbname}")
    os.system(f"createdb -h {host} -U {pguser} {wc_dbname}")
    os.system(f"dropdb --if-exists -h {host} -U {pguser} {dbname}")
    os.system(f"createdb -h {host} -U {pguser} {dbname}")

    qgs = QgsApplication([], False)
    qgs.initQgis()

    for test_class in [SpatialitePluginTest,
                       PgLocalPluginTest,
                       PgServerPluginTest]:

        test = test_class(host, pguser)
        test.test_checkout()
        del test

        test = test_class(host, pguser)
        test.test_checkout_w_selected_features()
        del test

    qgs.exitQgis()
开发者ID:Oslandia,项目名称:qgis-versioning,代码行数:26,代码来源:plugin_test.py

示例8: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main( argv ):
    print 'I: Starting viewer ...'    
    app = SingletonApp( argv )

    dictOpts = { '-h':'', '-p':'5432', '-U':'', '-W':'', '-d':'', '-s':'public', 
                  '-t':'', '-g':'', 'type':'unknown', 'srid':'', 'col':'' }

    opts, args = getopt.getopt( sys.argv[1:], 'h:p:U:W:d:s:t:g:', [] )
    dictOpts.update( opts )
    
    if dictOpts['-t'] == '':
        print >> sys.stderr, 'E: Table name is required'
        print __doc__
        sys.exit( 1 )

    d = QSqlDatabase.addDatabase( "QPSQL", "PgSQLDb" )
    d.setHostName( dictOpts['-h'] )
    d.setPort( int( dictOpts['-p'] ) )
    d.setDatabaseName( dictOpts['-d'] )
    d.setUserName( dictOpts['-U'] )
    d.setPassword( dictOpts['-W'] )

    if d.open():
        print 'I: Database connection was succesfull'
        
        query = QSqlQuery( d )
        query.exec_( "SELECT Count(srid) FROM raster_columns WHERE r_table_schema = '%s' AND r_table_name = '%s'" % ( dictOpts['-s'], dictOpts['-t'] ) )
        
        if query.next() and query.value( 0 ).toBool(): # Raster layer (WKTRaster)!            
            query.exec_( "SELECT srid, r_raster_column FROM raster_columns \
                          WHERE r_table_schema = '%s' AND \
                          r_table_name = '%s' " % ( dictOpts['-s'], dictOpts['-t'] ) )
            if query.next():
                dictOpts[ 'srid' ] = str( query.value( 0 ).toString() )
                dictOpts[ 'col' ] = str( query.value( 1 ).toString() )

            dictOpts['type'] = 'raster'
            print 'I: Raster layer detected'
            
        else: # Vector layer?            
            query.exec_( "SELECT column_name FROM information_schema.columns \
                    WHERE table_schema = '%s' AND \
                    table_name = '%s' AND \
                    udt_name = 'geometry' LIMIT 1" % ( dictOpts['-s'], dictOpts['-t'] ) )          

            if not query.next(): # Geography layer?        
                query.exec_( "SELECT column_name FROM information_schema.columns \
                        WHERE table_schema = '%s' AND \
                        table_name = '%s' AND \
                        udt_name = 'geography' LIMIT 1" % ( dictOpts['-s'], dictOpts['-t'] ) )

            if query.first(): # Vector layer!        
                dictOpts[ '-g' ] = str( query.value( 0 ).toString() )

                query.exec_( "SELECT srid FROM geometry_columns \
                              WHERE f_table_schema = '%s' AND \
                              f_table_name = '%s' " % ( dictOpts['-s'], dictOpts['-t'] ) )
                if query.next():
                    dictOpts[ 'srid' ] = str( query.value( 0 ).toString() )

                dictOpts['type'] = 'vector'
                print 'I: Vector layer detected'

        if not dictOpts[ 'type' ] == 'unknown': # The object is a layer
            if app.is_running:
                # Application already running, send message to load data
                app.send_message( dictOpts )
            else:
                # Start the Viewer

                # QGIS libs init
                QgsApplication.setPrefixPath(qgis_prefix, True)
                QgsApplication.initQgis()

                # Open viewer
                wnd = ViewerWnd( app, dictOpts )
                wnd.move(100,100)
                wnd.resize(400, 500)
                wnd.show()

                retval = app.exec_()

                # Exit
                QgsApplication.exitQgis()
                print 'I: Exiting ...'
                sys.exit(retval)      
        else:
            show_error("Error when opening layer", 
                "Layer '%s.%s' doesn't exist. Be sure the selected object is either raster or vector layer." % (dictOpts['-s'], dictOpts['-t']))
    else:
        show_error("Connection error", "Error when connecting to database.")
开发者ID:jivechang,项目名称:postgis-layer-viewer,代码行数:93,代码来源:postgis_viewer.py

示例9: exit

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
 def exit(self):
     sys.excepthook = self._oldhook
     from qgis.core import QgsApplication
     QgsApplication.exitQgis()
     QgsApplication.quit()
开发者ID:HeatherHillers,项目名称:RoamMac,代码行数:7,代码来源:environ.py

示例10: fin

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
 def fin():
     print ("teardown QGIS")
     QgsApplication.exitQgis()
开发者ID:NathanW2,项目名称:parfait,代码行数:5,代码来源:conftest.py

示例11: on_quit

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
 def on_quit():
     QgsApplication.exitQgis()
     app.quit()
开发者ID:gem,项目名称:qt-experiments,代码行数:5,代码来源:main.py

示例12: dict

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
        qgs_server.putenv('SERVER_NAME', self.server.server_name)
        qgs_server.putenv('REQUEST_URI', self.path)
        parsed_path = urllib.parse.urlparse(self.path)
        headers, body = qgs_server.handleRequest(parsed_path.query)
        headers_dict = dict(h.split(': ', 1) for h in headers.decode().split('\n') if h)
        try:
            self.send_response(int(headers_dict['Status'].split(' ')[0]))
        except:
            self.send_response(200)
        for k, v in list(headers_dict.items()):
            self.send_header(k, v)
        self.end_headers()
        self.wfile.write(body)
        return

    def do_POST(self):
        content_len = int(self.headers.get('content-length', 0))
        post_body = self.rfile.read(content_len).decode()
        request = post_body[1:post_body.find(' ')]
        self.path = self.path + '&REQUEST_BODY=' + \
            post_body.replace('&', '') + '&REQUEST=' + request
        return self.do_GET()


if __name__ == '__main__':
    server = HTTPServer(('localhost', QGIS_SERVER_DEFAULT_PORT), Handler)
    print('Starting server on localhost:%s, use <Ctrl-C> to stop' %
          QGIS_SERVER_DEFAULT_PORT)
    server.serve_forever()
    qgs_app.exitQgis()
开发者ID:map0logo,项目名称:QGIS,代码行数:32,代码来源:qgis_wrapped_server.py

示例13: main

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
def main(argv):
    print "I: Starting viewer ..."
    app = SingletonApp(argv)

    dictOpts = {
        "-h": "",
        "-p": "5432",
        "-U": "",
        "-W": "",
        "-d": "",
        "-s": "public",
        "-t": "",
        "-g": "",
        "type": "unknown",
        "srid": "",
    }

    opts, args = getopt.getopt(sys.argv[1:], "h:p:U:W:d:s:t:g:", [])
    dictOpts.update(opts)

    if dictOpts["-t"] == "":
        print >> sys.stderr, "E: Table name is required"
        print __doc__
        sys.exit(1)

    d = QSqlDatabase.addDatabase("QPSQL", "PgSQLDb")
    d.setHostName(dictOpts["-h"])
    d.setPort(int(dictOpts["-p"]))
    d.setDatabaseName(dictOpts["-d"])
    d.setUserName(dictOpts["-U"])
    d.setPassword(dictOpts["-W"])

    if d.open():
        print "I: Database connection was succesfull"

        query = QSqlQuery(d)
        query.exec_(
            "SELECT Count(oid) FROM raster_columns WHERE r_table_schema = '%s' AND r_table_name = '%s'"
            % (dictOpts["-s"], dictOpts["-t"])
        )

        if query.next() and query.value(0).toBool():  # Raster layer (WKTRaster)!
            query.exec_(
                "SELECT srid FROM raster_columns \
						  WHERE r_table_schema = '%s' AND \
						  r_table_name = '%s' "
                % (dictOpts["-s"], dictOpts["-t"])
            )
            if query.next():
                dictOpts["srid"] = str(query.value(0).toString())

            dictOpts["type"] = "raster"
            print "I: Raster layer detected"

        else:  # Vector layer?
            query.exec_(
                "SELECT column_name FROM information_schema.columns \
					WHERE table_schema = '%s' AND \
					table_name = '%s' AND \
					udt_name = 'geometry' LIMIT 1"
                % (dictOpts["-s"], dictOpts["-t"])
            )
            if query.next():  # Vector layer!
                dictOpts["-g"] = str(query.value(0).toString())

                query.exec_(
                    "SELECT srid FROM geometry_columns \
							  WHERE f_table_schema = '%s' AND \
							  f_table_name = '%s' "
                    % (dictOpts["-s"], dictOpts["-t"])
                )
                if query.next():
                    dictOpts["srid"] = str(query.value(0).toString())

                dictOpts["type"] = "vector"
                print "I: Vector layer detected"

        if not dictOpts["type"] == "unknown":  # The object is a layer
            if app.is_running:
                # Application already running, send message to load data
                app.send_message(dictOpts)
            else:
                # Start the Viewer

                # QGIS libs init
                QgsApplication.setPrefixPath(qgis_prefix, True)
                QgsApplication.initQgis()

                # Open viewer
                wnd = ViewerWnd(app, dictOpts)
                wnd.move(100, 100)
                wnd.resize(400, 500)
                wnd.show()

                retval = app.exec_()

                # Exit
                QgsApplication.exitQgis()
                print "I: Exiting ..."
                sys.exit(retval)
#.........这里部分代码省略.........
开发者ID:hjanetzek,项目名称:QgsPostGIS-Viewer,代码行数:103,代码来源:postgis_viewer.py

示例14: renderer

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
    def renderer(self):
        qgis = QgsApplication([], False)
        qgis.setPrefixPath(self.settings.get('path'), True)
        qgis.setMaxThreads(1)
        qgis.initQgis()

        while True:
            try:
                fndata, srs, render_size, extended, \
                    target_box, result = self.queue.get()

                layer = QgsVectorLayer(fndata, 'layer', 'ogr')

                crs = QgsCoordinateReferenceSystem(srs.id)
                layer.setCrs(crs)

                settings = QgsMapSettings()
                settings.setLayers([layer.id()])
                settings.setFlag(QgsMapSettings.DrawLabeling)
                settings.setFlag(QgsMapSettings.Antialiasing)

                settings.setCrsTransformEnabled(True)
                settings.setDestinationCrs(crs)
                settings.setMapUnits(crs.mapUnits())
                settings.setOutputSize(QSize(*render_size))
                settings.setExtent(QgsRectangle(*extended))

                settings.setOutputImageFormat(QImage.Format_ARGB32)
                bgcolor = QColor.fromRgba(qRgba(255, 255, 255, 0))
                settings.setBackgroundColor(bgcolor)
                settings.setOutputDpi(96)

                QgsMapLayerRegistry.instance().addMapLayer(layer)
                settings.setLayers([layer.id()])

                # Создаем QImage руками чтобы можно было использовать
                # QgsMapRendererCustomPainterJob. Остальные не позволяют
                # обойти баг с рисованием поверх старого.
                img = QImage(settings.outputSize(), QImage.Format_ARGB32)

                # Эти костыли нужны для того, чтобы корректно рисовались
                # слои на прозрачном фоне, без этого получается каша.
                img.fill(QColor.fromRgba(qRgba(255, 255, 255, 255)))
                img.fill(QColor.fromRgba(qRgba(255, 255, 255, 0)))

                # DPI должно быть таким же как в settings, иначе ошибка. В QImage
                # разрешение указывается в точках на метр по каждой оси.
                dpm = settings.outputDpi() / 25.4 * 1000
                img.setDotsPerMeterX(dpm)
                img.setDotsPerMeterY(dpm)

                painter = QPainter(img)
                job = QgsMapRendererCustomPainterJob(settings, painter)
                job.renderSynchronously()
                painter.end()

                QgsMapLayerRegistry.instance().removeAllMapLayers()

                # Преобразование QImage в PIL
                ba = QByteArray()
                bf = QBuffer(ba)
                bf.open(QIODevice.WriteOnly)
                img.save(bf, 'PNG')
                bf.close()

                buf = StringIO()
                buf.write(bf.data())
                buf.seek(0)

                img = PIL.Image.open(buf)

                # Вырезаем нужный нам кусок изображения
                result.put(img.crop(target_box))

            except Exception as e:
                self.logger.error(e.message)

        qgis.exitQgis()
开发者ID:nextgis,项目名称:nextgisweb_qgis,代码行数:80,代码来源:__init__.py

示例15: exit

# 需要导入模块: from qgis.core import QgsApplication [as 别名]
# 或者: from qgis.core.QgsApplication import exitQgis [as 别名]
 def exit(self):
     from qgis.core import QgsApplication
     QgsApplication.exitQgis()
     QgsApplication.quit()
开发者ID:Kenyat1989,项目名称:Roam,代码行数:6,代码来源:environ.py


注:本文中的qgis.core.QgsApplication.exitQgis方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。