def init(self, logo, title, **kwargs): from qgis.core import QgsApplication from qgis.PyQt.QtWidgets import QApplication from qgis.PyQt.QtGui import QFont, QIcon from qgis.PyQt.QtCore import QLocale, QTranslator try: import qgis.PyQt.QtSql except ImportError: pass # In python3 we need to convert to a bytes object (or should # QgsApplication accept a QString instead of const char* ?) try: argvb = list(map(os.fsencode, sys.argv)) except AttributeError: argvb = sys.argv self.app = QgsApplication(argvb, True) QgsApplication.setPrefixPath(self.prefixpath, True) QgsApplication.initQgis() locale = QLocale.system().name() self.translationFile = os.path.join(self.i18npath, '{0}.qm'.format(locale)) translator = QTranslator() translator.load(self.translationFile, "i18n") self.app.installTranslator(translator) QApplication.setStyle("Plastique") QApplication.setFont(QFont('Segoe UI')) QApplication.setWindowIcon(QIcon(logo)) QApplication.setApplicationName(title) import roam.editorwidgets.core if "register_widgets" not in kwargs: register_widgets = True else: register_widgets = False if register_widgets: roam.editorwidgets.core.registerallwidgets() import roam.qgisfunctions return self
class BoreHoleWindow(QMainWindow): def __init__(self, conn_info, parent=None): super(BoreHoleWindow, self).__init__(parent) uic.loadUi(os.path.join(os.path.dirname(__file__), 'log_strati.ui'), self) self.scene = BoreHoleScene(conn_info, self) self.graphicsView.setScene(self.scene) self.graphicsView.installEventFilter(self.scene.scroll_filter()) # id_, = cur.execute("SELECT OGC_FID FROM forages WHERE nom='{}'".format(name)).fetchone() if __name__ == '__main__': import sys from qgis.PyQt.QtCore import QSettings from qgis.PyQt.QtWidgets import QApplication QApplication.setOrganizationName("QGIS") QApplication.setOrganizationDomain("qgis.org") QApplication.setApplicationName("QGIS2") app = QApplication(sys.argv) view = BoreHoleWindow(sys.argv[1]) view.scene.set_current_id(sys.argv[2]) view.show() app.exec_()