Skip to content
Browse files
Add new qgisapp Python context manager for creating QGIS apps
  • Loading branch information
NathanW2 committed May 20, 2014
1 parent 938f288 commit 19e727e8bbc94b2cfffab7135f6751ee3604bf15
Showing with 41 additions and 0 deletions.
  1. +41 −0 python/core/
@@ -0,0 +1,41 @@
import sys
from contextlib import contextmanager
from qgis.core import QgsApplication

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.
from qgis.core.contextmanagers import qgisapp
def main(app):
# Run your main code block
with qgisapp(sys.argv) as 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)
yield app
if guienabled:
exitcode = app.exec_()
exitcode = 0
if sysexit:

0 comments on commit 19e727e

Please sign in to comment.