| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # Copyright (C) 2022 The Qt Company Ltd.
- # SPDX-License-Identifier: LicenseRef-Qt-Commercial
- import sys
- from pathlib import Path
- from PySide6.QtCore import QObject, Slot
- from PySide6.QtGui import QGuiApplication
- from PySide6.QtQml import QQmlApplicationEngine, QmlElement
- from PySide6.QtQuickControls2 import QQuickStyle
- import style_rc
- # To be used on the @QmlElement decorator
- # (QML_IMPORT_MINOR_VERSION is optional)
- QML_IMPORT_NAME = "io.qt.textproperties"
- QML_IMPORT_MAJOR_VERSION = 1
- @QmlElement
- class Bridge(QObject):
- @Slot(str, result=str)
- def getColor(self, s):
- if s.lower() == "red":
- return "#ef9a9a"
- elif s.lower() == "green":
- return "#a5d6a7"
- elif s.lower() == "blue":
- return "#90caf9"
- else:
- return "white"
- @Slot(float, result=int)
- def getSize(self, s):
- size = int(s * 34)
- if size <= 0:
- return 1
- else:
- return size
- @Slot(str, result=bool)
- def getItalic(self, s):
- if s.lower() == "italic":
- return True
- else:
- return False
- @Slot(str, result=bool)
- def getBold(self, s):
- if s.lower() == "bold":
- return True
- else:
- return False
- @Slot(str, result=bool)
- def getUnderline(self, s):
- if s.lower() == "underline":
- return True
- else:
- return False
- if __name__ == '__main__':
- app = QGuiApplication(sys.argv)
- QQuickStyle.setStyle("Material")
- engine = QQmlApplicationEngine()
- # Get the path of the current directory, and then add the name
- # of the QML file, to load it.
- qml_file = 'view.qml'
- engine.load(qml_file)
- if not engine.rootObjects():
- sys.exit(-1)
- sys.exit(app.exec())
|