RinUI 0.1.1__tar.gz → 0.1.1.post2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. {rinui-0.1.1/RinUI.egg-info → rinui-0.1.1.post2}/PKG-INFO +1 -1
  2. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/core/launcher.py +21 -8
  3. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/core/translator.py +2 -1
  4. {rinui-0.1.1 → rinui-0.1.1.post2/RinUI.egg-info}/PKG-INFO +1 -1
  5. {rinui-0.1.1 → rinui-0.1.1.post2}/pyproject.toml +2 -2
  6. {rinui-0.1.1 → rinui-0.1.1.post2}/LICENSE +0 -0
  7. {rinui-0.1.1 → rinui-0.1.1.post2}/MANIFEST.in +0 -0
  8. {rinui-0.1.1 → rinui-0.1.1.post2}/README.md +0 -0
  9. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/__init__.py +0 -0
  10. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/assets/fonts/FluentSystemIcons-Index.js +0 -0
  11. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/assets/fonts/FluentSystemIcons-Resizable.ttf +0 -0
  12. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/assets/img/default_app_icon.png +0 -0
  13. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Base.qml +0 -0
  14. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/Button.qml +0 -0
  15. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/CheckBox.qml +0 -0
  16. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/ComboBox.qml +0 -0
  17. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/DropDownButton.qml +0 -0
  18. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/Hyperlink.qml +0 -0
  19. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/PillButton.qml +0 -0
  20. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/RadioButton.qml +0 -0
  21. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/RoundButton.qml +0 -0
  22. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/Slider.qml +0 -0
  23. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/Switch.qml +0 -0
  24. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/ToggleButton.qml +0 -0
  25. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/BasicInput/ToolButton.qml +0 -0
  26. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ContextMenu.qml +0 -0
  27. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DateAndTime/DatePicker.qml +0 -0
  28. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DateAndTime/PickerView.qml +0 -0
  29. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DateAndTime/TimePicker.qml +0 -0
  30. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DialogsAndFlyouts/Dialog.qml +0 -0
  31. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DialogsAndFlyouts/DialogButtonBox.qml +0 -0
  32. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DialogsAndFlyouts/Flyout.qml +0 -0
  33. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/DialogsAndFlyouts/Popup.qml +0 -0
  34. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/FocusIndicator.qml +0 -0
  35. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/IconWidget.qml +0 -0
  36. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Indicator.qml +0 -0
  37. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Layout/Expander.qml +0 -0
  38. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Layout/SettingExpander.qml +0 -0
  39. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Layout/SettingItem.qml +0 -0
  40. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/Clip.qml +0 -0
  41. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/Frame.qml +0 -0
  42. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/ListView.qml +0 -0
  43. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/ListViewDelegate.qml +0 -0
  44. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/SettingCard.qml +0 -0
  45. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/TableView.qml +0 -0
  46. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ListAndCollections/TableViewDelegate.qml +0 -0
  47. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Media/Avatar.qml +0 -0
  48. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/Menu.qml +0 -0
  49. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/MenuBar.qml +0 -0
  50. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/MenuItem.qml +0 -0
  51. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/MenuItemGroup.qml +0 -0
  52. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/MenuSeparator.qml +0 -0
  53. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/TextInputMenu.qml +0 -0
  54. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/MenusAndToolbars/ToolSeparator.qml +0 -0
  55. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/ErrorPage.qml +0 -0
  56. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/NavigationBar.qml +0 -0
  57. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/NavigationItem.qml +0 -0
  58. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/NavigationSubItem.qml +0 -0
  59. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/NavigationView.qml +0 -0
  60. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/Segmented.qml +0 -0
  61. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/SegmentedItem.qml +0 -0
  62. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/SelectorBar.qml +0 -0
  63. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Navigation/SelectorBarItem.qml +0 -0
  64. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ScrollBar.qml +0 -0
  65. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/ScrollView.qml +0 -0
  66. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Shadow.qml +0 -0
  67. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/InfoBadge.qml +0 -0
  68. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/InfoBar.qml +0 -0
  69. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/ProgressBar.qml +0 -0
  70. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/ProgressRing.qml +0 -0
  71. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/Toast.qml +0 -0
  72. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/StatusAndInfo/ToolTip.qml +0 -0
  73. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Text/SpinBox.qml +0 -0
  74. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Text/Text.qml +0 -0
  75. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Text/TextArea.qml +0 -0
  76. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Text/TextField.qml +0 -0
  77. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/Text/TextInput.qml +0 -0
  78. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/components/qmldir +0 -0
  79. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/core/__init__.py +0 -0
  80. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/core/config.py +0 -0
  81. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/core/theme.py +0 -0
  82. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/hooks/__init__.py +0 -0
  83. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/hooks/hook-RinUI.py +0 -0
  84. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/languages/en_US.qm +0 -0
  85. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/languages/en_US.ts +0 -0
  86. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/languages/zh_CN.qm +0 -0
  87. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/languages/zh_CN.ts +0 -0
  88. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/qmldir +0 -0
  89. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/Appearance.qml +0 -0
  90. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/Colors.qml +0 -0
  91. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/dark.qml +0 -0
  92. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/light.qml +0 -0
  93. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/qmldir +0 -0
  94. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/theme.qml +0 -0
  95. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/themes/utils.qml +0 -0
  96. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/Animation.qml +0 -0
  97. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/FloatLayer.qml +0 -0
  98. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/FontIconLoader.qml +0 -0
  99. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/Position.qml +0 -0
  100. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/Severity.qml +0 -0
  101. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/Typography.qml +0 -0
  102. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/utils/qmldir +0 -0
  103. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/CtrlBtn.qml +0 -0
  104. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/FluentPage.qml +0 -0
  105. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/FluentWindow.qml +0 -0
  106. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/FluentWindowBase.qml +0 -0
  107. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/TitleBar.qml +0 -0
  108. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/qmldir +0 -0
  109. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/window/ApplicationWindow.qml +0 -0
  110. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI/windows/window/Window.qml +0 -0
  111. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI.egg-info/SOURCES.txt +0 -0
  112. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI.egg-info/dependency_links.txt +0 -0
  113. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI.egg-info/entry_points.txt +0 -0
  114. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI.egg-info/requires.txt +0 -0
  115. {rinui-0.1.1 → rinui-0.1.1.post2}/RinUI.egg-info/top_level.txt +0 -0
  116. {rinui-0.1.1 → rinui-0.1.1.post2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RinUI
3
- Version: 0.1.1
3
+ Version: 0.1.1.post2
4
4
  Summary: A Fluent Design-like UI library for Qt Quick (QML) based on PySide6
5
5
  Author-email: RinLit <lintu233_qwq@icloud.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1,20 +1,23 @@
1
1
  import os
2
2
  import sys
3
+ from typing import Union
3
4
 
4
5
  from PySide6.QtCore import QCoreApplication, QUrl, QObject
5
6
  from PySide6.QtGui import QIcon
6
7
  from PySide6.QtWidgets import QApplication
7
8
  from PySide6.QtQml import QQmlApplicationEngine
9
+ from pathlib import Path
8
10
 
9
11
  from .theme import ThemeManager
10
12
  from .config import BackdropEffect, is_windows, Theme, RINUI_PATH, RinConfig
11
13
 
12
14
 
13
15
  class RinUIWindow:
14
- def __init__(self, qml_path: str):
16
+ def __init__(self, qml_path: Union[str, Path] = None):
15
17
  """
16
18
  Create an application window with RinUI.
17
- :param qml_path: str, QML file path (eg = "path/to/main.qml")
19
+ If qml_path is provided, it will automatically load the specified QML file.
20
+ :param qml_path: str or Path, QML file path (eg = "path/to/main.qml")
18
21
  """
19
22
  super().__init__()
20
23
  if hasattr(self, "_initialized") and self._initialized:
@@ -33,14 +36,22 @@ class RinUIWindow:
33
36
  self.autoSetWindowsEffect = True
34
37
 
35
38
  app_instance.aboutToQuit.connect(self.theme_manager.clean_up)
36
- self._setup_application()
37
- self.print_startup_info()
38
39
 
39
- def _setup_application(self) -> None:
40
- """Setup"""
40
+ if qml_path is not None:
41
+ self.load(qml_path)
42
+
43
+ def load(self, qml_path: Union[str, Path] = None) -> None:
44
+ """
45
+ Load the QML file and set up the application window.
46
+ :param qml_path:
47
+ :return:
48
+ """
41
49
  # RInUI 模块
42
50
  print(f"UI Module Path: {RINUI_PATH}")
43
51
 
52
+ if qml_path is not None:
53
+ self.qml_path = qml_path
54
+
44
55
  if os.path.exists(RINUI_PATH):
45
56
  self.engine.addImportPath(RINUI_PATH)
46
57
  else:
@@ -62,6 +73,8 @@ class RinUIWindow:
62
73
  self.theme_manager.set_window(self.root_window)
63
74
  self._apply_windows_effects() if self.autoSetWindowsEffect else None
64
75
 
76
+ self._print_startup_info()
77
+
65
78
  def setIcon(self, path: str) -> None:
66
79
  """
67
80
  Sets the icon for the application.
@@ -109,9 +122,9 @@ class RinUIWindow:
109
122
  root = object.__getattribute__(self, "root_window")
110
123
  return getattr(root, name)
111
124
  except AttributeError:
112
- raise AttributeError(f"\"RinUIWindow\" object has no attribute '{name}'")
125
+ raise AttributeError(f"\"RinUIWindow\" object has no attribute '{name}', you need to load() qml at first.")
113
126
 
114
- def print_startup_info(self) -> None:
127
+ def _print_startup_info(self) -> None:
115
128
  border = "=" * 40
116
129
  print(f"\n{border}")
117
130
  print("✨ RinUIWindow Loaded Successfully!")
@@ -21,5 +21,6 @@ class RinUITranslator(QTranslator):
21
21
  print(f"🌏 Current locale: {locale.name()}")
22
22
  path = os.path.join(RINUI_PATH, "RinUI", "languages", f"{locale.name()}.qm")
23
23
  if not os.path.exists(path):
24
- raise FileNotFoundError(f"Cannot find translation file: {path}")
24
+ print(f"Language file \"{path}\" not found. Fallback to default (en_US)")
25
+ path = os.path.join(RINUI_PATH, "RinUI", "languages", "en_US.qm")
25
26
  return super().load(path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RinUI
3
- Version: 0.1.1
3
+ Version: 0.1.1.post2
4
4
  Summary: A Fluent Design-like UI library for Qt Quick (QML) based on PySide6
5
5
  Author-email: RinLit <lintu233_qwq@icloud.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "RinUI"
7
- version = "0.1.1"
7
+ version = "0.1.1.post2"
8
8
  authors = [
9
9
  { name = "RinLit", email = "lintu233_qwq@icloud.com" }
10
10
  ]
@@ -41,4 +41,4 @@ RinUI = [
41
41
  "" = ["README.md", "LICENSE"]
42
42
 
43
43
  [project.entry-points."pyinstaller40"]
44
- hook-dirs = "RinUI.hooks:get_hook_dirs"
44
+ hook-dirs = "RinUI.hooks:get_hook_dirs"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes