diff options
Diffstat (limited to 'sources/pyside2/doc/tutorials/qmlsqlintegration/main.py')
-rw-r--r-- | sources/pyside2/doc/tutorials/qmlsqlintegration/main.py | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/sources/pyside2/doc/tutorials/qmlsqlintegration/main.py b/sources/pyside2/doc/tutorials/qmlsqlintegration/main.py deleted file mode 100644 index c710e019a..000000000 --- a/sources/pyside2/doc/tutorials/qmlsqlintegration/main.py +++ /dev/null @@ -1,85 +0,0 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the Qt for Python project. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -import logging - -from PySide2.QtCore import QDir, QFile, QUrl -from PySide2.QtGui import QGuiApplication -from PySide2.QtQml import QQmlApplicationEngine -from PySide2.QtSql import QSqlDatabase - -from sqlDialog import SqlConversationModel - -logging.basicConfig(filename="chat.log", level=logging.DEBUG) -logger = logging.getLogger("logger") - - -def connectToDatabase(): - database = QSqlDatabase.database() - if not database.isValid(): - database = QSqlDatabase.addDatabase("QSQLITE") - if not database.isValid(): - logger.error("Cannot add database") - - write_dir = QDir() - if not write_dir.mkpath("."): - logger.error("Failed to create writable directory") - - # Ensure that we have a writable location on all devices. - filename = "{}/chat-database.sqlite3".format(write_dir.absolutePath()) - - # When using the SQLite driver, open() will create the SQLite - # database if it doesn't exist. - database.setDatabaseName(filename) - if not database.open(): - logger.error("Cannot open database") - QFile.remove(filename) - - -if __name__ == "__main__": - app = QGuiApplication() - connectToDatabase() - sql_conversation_model = SqlConversationModel() - - engine = QQmlApplicationEngine() - # Export pertinent objects to QML - engine.rootContext().setContextProperty("chat_model", sql_conversation_model) - engine.load(QUrl("chat.qml")) - - app.exec_() |