RinUI 0.1.4.1__tar.gz → 0.1.5.1__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.
- {rinui-0.1.4.1/RinUI.egg-info → rinui-0.1.5.1}/PKG-INFO +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/__init__.py +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Text/SpinBox.qml +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/launcher.py +3 -3
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/window.py +17 -3
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/FluentWindowBase.qml +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1/RinUI.egg-info}/PKG-INFO +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1}/pyproject.toml +1 -1
- {rinui-0.1.4.1 → rinui-0.1.5.1}/LICENSE +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/MANIFEST.in +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/README.md +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/assets/fonts/FluentSystemIcons-Index.js +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/assets/fonts/FluentSystemIcons-Resizable.ttf +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/assets/img/default_app_icon.png +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Base.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/Button.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/CheckBox.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/ComboBox.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/DropDownButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/Hyperlink.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/PillButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/RadioButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/RoundButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/Slider.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/Switch.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/ToggleButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/BasicInput/ToolButton.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ContextMenu.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DateAndTime/DatePicker.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DateAndTime/PickerView.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DateAndTime/TimePicker.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DialogsAndFlyouts/Dialog.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DialogsAndFlyouts/DialogButtonBox.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DialogsAndFlyouts/Flyout.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/DialogsAndFlyouts/Popup.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/FocusIndicator.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/IconWidget.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Indicator.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Layout/Expander.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Layout/SettingExpander.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Layout/SettingItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/Clip.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/Frame.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/ListView.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/ListViewDelegate.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/SettingCard.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/TableView.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ListAndCollections/TableViewDelegate.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Media/Avatar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/Menu.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/MenuBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/MenuItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/MenuItemGroup.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/MenuSeparator.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/TextInputMenu.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/MenusAndToolbars/ToolSeparator.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/ErrorPage.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/NavigationBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/NavigationItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/NavigationSubItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/NavigationView.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/Segmented.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/SegmentedItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/SelectorBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Navigation/SelectorBarItem.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ScrollBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/ScrollView.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Shadow.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/BusyIndicator.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/InfoBadge.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/InfoBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/ProgressBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/ProgressRing.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/Toast.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/StatusAndInfo/ToolTip.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Text/Text.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Text/TextArea.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Text/TextField.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/Text/TextInput.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/components/qmldir +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/__init__.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/config.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/theme.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/core/translator.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/hooks/__init__.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/hooks/hook-RinUI.py +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/languages/en_US.qm +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/languages/en_US.ts +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/languages/zh_CN.qm +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/languages/zh_CN.ts +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/qmldir +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/Appearance.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/Colors.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/dark.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/light.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/qmldir +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/theme.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/themes/utils.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/Animation.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/FloatLayer.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/FontIconLoader.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/Position.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/Severity.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/Typography.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/utils/qmldir +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/CtrlBtn.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/FluentPage.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/FluentWindow.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/TitleBar.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/WindowManager.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/qmldir +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/window/ApplicationWindow.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI/windows/window/Window.qml +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI.egg-info/SOURCES.txt +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI.egg-info/dependency_links.txt +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI.egg-info/entry_points.txt +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI.egg-info/requires.txt +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/RinUI.egg-info/top_level.txt +0 -0
- {rinui-0.1.4.1 → rinui-0.1.5.1}/setup.cfg +0 -0
@@ -1,4 +1,3 @@
|
|
1
|
-
import os
|
2
1
|
import sys
|
3
2
|
from typing import Union
|
4
3
|
|
@@ -54,9 +53,9 @@ class RinUIWindow:
|
|
54
53
|
|
55
54
|
if qml_path is None:
|
56
55
|
raise ValueError("QML path must be provided to load the window.")
|
57
|
-
self.qml_path = qml_path
|
56
|
+
self.qml_path = Path(qml_path)
|
58
57
|
|
59
|
-
if
|
58
|
+
if self.qml_path.exists():
|
60
59
|
self.engine.addImportPath(RINUI_PATH)
|
61
60
|
else:
|
62
61
|
raise FileNotFoundError(f"Cannot find RinUI module: {RINUI_PATH}")
|
@@ -106,6 +105,7 @@ class RinUIWindow:
|
|
106
105
|
:return:
|
107
106
|
"""
|
108
107
|
app_instance = QApplication.instance()
|
108
|
+
path = Path(path).as_posix()
|
109
109
|
if app_instance:
|
110
110
|
app_instance.setWindowIcon(QIcon(path)) # 设置应用程序图标
|
111
111
|
self.root_window.setProperty('icon', QUrl.fromLocalFile(path))
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import platform
|
2
|
+
from typing import Optional
|
2
3
|
|
3
4
|
from PySide6.QtCore import QAbstractNativeEventFilter, QByteArray, QObject, Slot
|
4
5
|
import ctypes
|
5
6
|
from ctypes import wintypes
|
6
7
|
|
7
8
|
import win32con
|
9
|
+
from PySide6.QtQuick import QQuickWindow
|
8
10
|
from win32gui import ReleaseCapture, GetWindowPlacement, ShowWindow
|
9
11
|
from win32con import SW_MAXIMIZE, SW_RESTORE
|
10
12
|
from win32api import SendMessage
|
@@ -111,13 +113,25 @@ class WinEventManager(QObject):
|
|
111
113
|
|
112
114
|
|
113
115
|
class WinEventFilter(QAbstractNativeEventFilter):
|
114
|
-
def __init__(self, window):
|
116
|
+
def __init__(self, window: QQuickWindow):
|
115
117
|
super().__init__()
|
116
118
|
self.window = window
|
117
|
-
self.hwnd =
|
118
|
-
self.resize_border = 8
|
119
|
+
self.hwnd: Optional[int] = None
|
120
|
+
self.resize_border = 8
|
119
121
|
|
122
|
+
if not self.window.isVisible():
|
123
|
+
self.window.visibleChanged.connect(self._on_visible_changed)
|
124
|
+
else:
|
125
|
+
self._init_window_handle()
|
126
|
+
|
127
|
+
def _on_visible_changed(self, visible: bool):
|
128
|
+
if visible and self.hwnd is None:
|
129
|
+
self._init_window_handle()
|
130
|
+
|
131
|
+
def _init_window_handle(self):
|
132
|
+
self.hwnd = int(self.window.winId())
|
120
133
|
self.set_window_styles()
|
134
|
+
print(f"Window handle set: {self.hwnd}")
|
121
135
|
|
122
136
|
def set_window_styles(self):
|
123
137
|
"""设置必要的窗口样式以启用原生窗口行为"""
|
@@ -18,7 +18,7 @@ ApplicationWindow {
|
|
18
18
|
color: "transparent"
|
19
19
|
|
20
20
|
// 自定义属性
|
21
|
-
property var icon:
|
21
|
+
property var icon: undefined // 图标
|
22
22
|
property alias titleEnabled: titleBar.titleEnabled
|
23
23
|
property int titleBarHeight: Theme.currentTheme.appearance.dialogTitleBarHeight
|
24
24
|
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|