# This Python file uses the following encoding: utf-8 import sys import logging from PySide6.QtGui import QGuiApplication from PySide6.QtQml import QQmlApplicationEngine #from PySide6.QtCore import QResource from lib.ConfigLoader import ConfigLoader from lib.DB.BusinessModel import BusinessModel import rc_pyqcrm import rc_qml from lib.DB.DbManager import DbManager from lib.DB.UserManager import UserManager from lib.DB.AddressModel import AddressModel from lib.DB.BTypeModel import BTypeModel from lib.DB.ContactModel import ContactModel # [pyqcrm] # program-name="" # version= # [database] # server="" # port= # user="" # password="" # name="" # type="" bad_config = False db_con = False address_model = None business_model = None business_type = None contact_model = None user = None def initializeProgram(): #print(f"In {__file__} file, initializeProgram()") global address_model, bad_config, business_model, user, business_type, contact_model if not bad_config: dbconf = config.getConfig()['database'] DbManager(dbconf) bad_config = False user = UserManager() business_model = BusinessModel() address_model = AddressModel() business_type = BTypeModel() contact_model = ContactModel() publishContext() def publishContext(): # print(f"In {__file__} file, publishContext()") global engine, address_model, bad_config, business_model, user, business_type, contact_model engine.rootContext().setContextProperty("loggedin_user", user) engine.rootContext().setContextProperty("business_model", business_model) engine.rootContext().setContextProperty("address_model", address_model) engine.rootContext().setContextProperty("business_type", business_type) engine.rootContext().setContextProperty("contact_model", contact_model) if __name__ == "__main__": #QResource.registerResource("rc_qml.py") app = QGuiApplication(sys.argv) engine = QQmlApplicationEngine() engine.addImportPath("qrc:/"); # qml_file = Path(__file__).resolve().parent / "Gui/main.qml" qml_file = "qrc:/Gui/main.qml" config = ConfigLoader() if not config.getConfig(): bad_config = True config.configurationReady.connect(initializeProgram) else: initializeProgram() if DbManager().getConnection(): db_con = True engine.rootContext().setContextProperty("bad_config", bad_config) # print(f"Fehler: {i}") engine.rootContext().setContextProperty("db_con", db_con) engine.rootContext().setContextProperty("config", config) engine.load(qml_file) if not engine.rootObjects(): sys.exit(-1) sys.exit(app.exec())