aboutsummaryrefslogtreecommitdiffstats
path: root/examples/tutorials/finance_manager/part2/main.py
diff options
context:
space:
mode:
authorShyamnath Premnadh <Shyamnath.Premnadh@qt.io>2024-10-21 15:56:35 +0200
committerShyamnath Premnadh <Shyamnath.Premnadh@qt.io>2024-11-13 14:35:33 +0100
commit7a1426d6f05adc3334af434623221f4d6dcbfc26 (patch)
treec2b7da835ba0cf9d59b2b2cabc8c40368391dede /examples/tutorials/finance_manager/part2/main.py
parentabcc4d78fe0b1ac275e2a08ecec10750cb17abe2 (diff)
Finance Manager - Part 2 - Example
- Example that extends on the Finance Manager application from Part 1 to use a SQLite database to store the data, thereby showing the how to use SqlAlchemy with PySide6. Pick-to: 6.8 Task-number: PYSIDE-2850 Change-Id: I2cce6d033812796ea2fe5cc200c1854494a308f5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples/tutorials/finance_manager/part2/main.py')
-rw-r--r--examples/tutorials/finance_manager/part2/main.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/tutorials/finance_manager/part2/main.py b/examples/tutorials/finance_manager/part2/main.py
new file mode 100644
index 000000000..3b8616a45
--- /dev/null
+++ b/examples/tutorials/finance_manager/part2/main.py
@@ -0,0 +1,30 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+import sys
+from pathlib import Path
+
+from PySide6.QtWidgets import QApplication
+from PySide6.QtQml import QQmlApplicationEngine
+
+from financemodel import FinanceModel # noqa: F401
+from database import initialize_database
+
+if __name__ == '__main__':
+ # Initialize the database if it does not exist
+ initialize_database()
+
+ app = QApplication(sys.argv)
+ QApplication.setOrganizationName("QtProject")
+ QApplication.setApplicationName("Finance Manager")
+ engine = QQmlApplicationEngine()
+
+ engine.addImportPath(Path(__file__).parent)
+ engine.loadFromModule("Finance", "Main")
+
+ if not engine.rootObjects():
+ sys.exit(-1)
+
+ ex = app.exec()
+ del engine
+ sys.exit(ex)