Maliang

Latest version: v3.0.3

Safety actively analyzes 723954 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 17

3.0.0rc1

🕓 *Release Date / 发布日期 : 2024-08-08*

🟢 **Added / 新增**

* The widget `Text` added methods `get` and `set` to get and modify its text content
控件 `Text` 添加了 `get` 和 `set` 方法,用于获取和修改其文本内容

* Added widget `Image`
添加了控件:`Image`

* Added container widget `Frame` to assist with layout
添加了容器控件 `Frame` 以协助布局

* The container widget `Canvas` has added the method `clear` to clear everything drawn inside it
容器控件 `Canvas` 添加了 `clear` 方法,以清除其中绘制的所有内容

* Widgets can now be nested within widgets
控件现在可以嵌套在控件中了

* The submodule `tools` added a function `get_text_size` to get the size of the text
子模块 `tools` 添加了一个函数 `get_text_size` 用于获取文本的大小

* Added the incomplete Select All function, which can select all, but due to the imperfection of the function of selecting the text with the mouse, the Select All function cannot select the undisplayed text
新增了不完整的全选功能,可以全选,但由于鼠标选择文本的功能不完善,导致全选功能无法选择未显示的文本

* `virtual.Widget` has a new method called `detect` to determine the range based on the data of the widget itself
`virtual.Widget` 新增了一个名为 `detect` 的方法,其根据控件本身的数据确定的范围来进行检测

* Added `HalfRoundedRectangular` shape class
添加了形状类 `HalfRoundedRectangular`

* Added widget: `ToggleButton`
添加了控件:`ToggleButton`

* Added widget: `SegmentedButton`
添加了控件:`SegmentedButton`

* Added widget: `SpinBox`
添加了控件:`SpinBox`

* The subpackage `standard` added an internal submodule `_auxiliary` to define some auxiliary widgets
子包 `standard` 添加了一个内部子模块 `_auxiliary` 来定义一些辅助控件

* The `GOLDEN_RATIO` constant has been added
增加了常量 `GOLDEN_RATIO`

* Added experimental implementations of widgets `OptionButton` and `ComboBox`
添加了控件 `OptionButton` 和 `ComboBox` 的实验性实现

🔴 **Removed / 移除**

* The code for the `matplotlib` related interface part is separated
将 `matplotlib` 相关接口部分的代码分离了

* Due to some conflicts, the binding and handling of the mouse double-click event has been removed
由于存在一些冲突,删除了鼠标双击事件的绑定和处理

🟡 **Changed / 变更**

* Re-change the text defaults of the widget to an empty string
将控件的文本默认值重新更改为空字符串

* Rename the widgets `Entry` and `Information` to `InputBox` and `Text`, respectively
将控件 `Entry` 和 `Information` 分别重命名为 `InputBox` 和 `Text`

* The "Feature" suffix has been added to the class names of several `Feature` classes to prevent them from being indistinguishable from the `Widget` class in the error message
“Feature” 后缀已添加到多个 `Feature` 类的类名中,以防止它们与错误消息中的 `Widget` 类无法区分

🔵 **Optimized / 优化**

* Optimized decision detection for `Oval` and `SemicircularRectangle`
优化了 `Oval` 和 `SemicircularRectangle` 的检测判定方法

* The `Switch` widget added more animations
`Switch` 添加了更多动画

* `Shape` scaling has been improved: the scale has been changed from direct scaling to calculating the position to prevent the proportions of some parts from being broken
改进了 `Shape` 的缩放:缩放已从直接缩放更改为计算位置后缩放,以防止某些部分的比例被破坏

* All widgets that involve text now do not need to be forced to specify the size at initialization, and it automatically calculates the size of text without line breaks
现在,所有涉及文本的控件都不需要在初始化时强制指定大小,它会自动计算没有换行符的文本的大小

* Optimized the `RoundedRectangle` subclass of the `Shape` class
优化了 `Shape` 的子类 `RoundedRectangle`

* Improved the docstrings, error messages, and warning messages
改善了文档字符串、错误消息和警告消息

🟣 **Fixed / 修复**

* Fixed a bug where `IconButton` was missing style files
修复 `IconButton` 缺少样式文件的 bug

* Fixed a bug where the `Slider` could be activated unexpectedly when disabled
修复 `Slider` 在禁用时可能会意外激活的 bug

* Fixed a bug where text had no effect on modifying its properties after scaling
修复了文本在缩放后修改其属性不起作用的 bug

* Fixed a bug where some widgets with default values could repeatedly call the method `set`, causing the widget appearance to be misaligned
修复了某些具有默认值的控件可能会重复调用方法 `set` 从而导致控件外观错位的 bug

* Fixed a bug where some highly custom widgets would report an error when zooming
修复了某些高度自定义的控件在缩放时会报错的 bug

🟤 **Refactored / 重构**

* Refactored the `style` subpackage, reformatted the style file, and now supports two ways to import themes. That is, import as a JSON file, or directly import using a Python file
重构了 `style` 子包,重新格式化了样式文件,现在支持两种导入主题的方式。即使用 JSON 文件导入,或直接使用 Python 文件导入

* Removed the original JSON format style file, and added `theme` subpackage to store the style data as a Python file, so as to solve the bug that the default style file is lost in project packaging
移除了原有的 JSON 格式样式文件,并添加了 `theme` 子包,将样式数据存储为 Python 件,从而解决了项目打包时默认样式文件丢失的 bug

3.0.0.beta4

🕓 *Release Date / 发布日期 : 2024-07-20*

🟢 **Added / 新增**

* The widget `Entry` has a new parameter `placeholder` to display the prompt information
控件 `Entry` 新增了参数 `placeholder` 来实现提示信息的显示

* Added parameter `show` to the widget `Entry` to mask characters (e.g. password box)
控件 `Entry` 新增了参数 `show` 来实现字符的掩盖(如密码框)

* The new parameter `align` has been added to the widget `Entry` to achieve a similar effect to the `text-align` of tags in *HTML*, i.e. the left, right, and center layout of the text
控件 `Entry` 新增了参数 `align` 来实现于 *HTML* 里的标签的 `text-align` 类似的效果,即文本的靠左、靠右和居中布局

* The widget `Entry` has been added to move the text prompt by pressing the left and right keys on the keyboard
控件 `Entry` 新增了通过按下键盘的左右键来移动文本提示符的功能

* Added text selection to the widget `Entry`
控件 `Entry` 新增了文本选中的功能

* The widget `Entry` has added shortcuts to copy (<kbd>Ctrl</kbd>+<kbd>C</kbd>), paste (<kbd>Ctrl</kbd>+<kbd>V</kbd>) and cut (<kbd>Ctrl</kbd>+<kbd>X</kbd>)
控件 `Entry` 新增了快捷键复制(<kbd>Ctrl</kbd>+<kbd>C</kbd>)、粘贴(<kbd>Ctrl</kbd>+<kbd>V</kbd>)和剪切(<kbd>Ctrl</kbd>+<kbd>X</kbd>)的功能

* Added widget slider (`Slider`)
新增了控件滑动条(`Slider`)

* Added widget icon button (`IconButton`)
新增了控件图标按钮(`IconButton`)

* Added some missing docstrings
增加了部分缺失的文档字符串

🟡 **Changed / 变更**

* The color of the widget `Entry` has been changed slightly under Windows 10 to enhance the look
控件 `Entry` 在 Windows 10 操作系统下的颜色略有改变,以提升观感

* The position of the text of the widget `Entry` in the text box has been slightly corrected to improve the look
控件 `Entry` 的文本在文本框中的位置被稍微修正了一下,以提升观感

🟣 **Fixed / 修复**

* Fixed a bug where deleting text from the widget `Entry` in some cases would cause the program to loop in an endless loop
修复了控件 `Entry` 某些情况下删除文本会导致程序死循环的问题

🔵 **Optimized / 优化**

* Improved the readability of some codes
增强了部分代码的可读性

🔴 **Removed / 移除**

* Widget `Entry` removed the parameters `justify` and `anchor`
控件 `Entry` 移除了参数 `justify` 和 `anchor`

* Removed the 3D part of the code and related theme files
移除了 3D 部分代码以及相关主题文件

3.0.0.beta3

🕓 *Release Date / 发布日期 : 2024-06-17*

🟢 **Added / 新增**

* The docstrings for a portion of the code has been added
添加了一部分代码的文本字符串

* `animation.animations` has added class `MoveTkWidget` to move a tkinter widget
`animation.animations` 新增类 `MoveTkWidget` 来移动一个 tkinter 控件

* `core.containers.Canvas` added the parameter `name` to bind the theme
`core.containers.Canvas` 新增参数 `name` 来绑定主题

* `core.containers.Canvas` added method `_zoom_children` to scale the tkinter widget of the Place layout
`core.containers.Canvas` 新增方法 `_zoom_children` 来实现对 Place 布局的 tkinter 控件的缩放

* Introduce the optional third-party package `pillow` and add a new class `PhotoImage` in `toolbox.enhanced` to improve image scaling performance
引入可选的第三方包 `pillow` 并在 `toolbox.enhanced` 新增类 `PhotoImage` 以提高图片缩放的性能

* Introduce an optional third-party package `matplotlib` and add a new module `mpl` to `toolbox` to achieve compatibility with `matplotlib` related interfaces
引入可选的第三方包 `matplotlib` 并在 `toolbox` 中新增模块 `mpl` 来实现对 `matplotlib` 相关接口的兼容

* `toolbox.tools` adds the function `get_hwnd` to fetch the HWND of the widget
`toolbox.tools` 新增函数 `get_hwnd` 来实现控件的 HWND 的获取

* `toolbox.tools` adds a new function `embed_window` to embed a widget into another widget, which only works on Windows
`toolbox.tools` 新增函数 `embed_window` 来将一个控件嵌入到另外一个控件中,仅在 Windows 系统中有效

* `toolbox.tools` adds a new function `screen_size` to get the width and height of the screen
`toolbox.tools` 新增函数 `screen_size` 来获取屏幕的宽度和高度

* `toolbox.tools` adds a new function `set_mouse_position` to set the mouse position, which only works on Windows
`toolbox.tools` 新增函数 `set_mouse_position` 来设置鼠标的位置,仅在 Windows 系统中有效

* `toolbox.tools` adds a new function `_forward_methods` to implement the forwarding of class methods
`toolbox.tools` 新增函数 `_forward_methods` 来实现类方法的转发

* Introduce optional third-party packages `pywinstyles`, `win32material` and `hPyT`, and add many new parameters to `style.manager.customize_window` to implement the corresponding interfaces
引入可选的第三方包 `pywinstyles`、`win32material` 和 `hPyT` 并在 `style.manager.customize_window` 新增许多参数来实现对应的接口

🔴 **Removed / 移除**

* Remove function `color.rgb._str_to_hex`, this function is useless
移除函数 `color.rgb._str_to_hex`,此函数无用

* Remove class `core.containers.Dialog`, this class is useless
移除类 `core.containers.Dialog`,此类无用

* Removed the class `core.containers.ChildWindow` and there is a better way to replace it
移除类 `core.containers.ChildWindow`,已有其它更好的替换方式

* Remove redundant code from `three.engine` in preparation for the next refactoring
移除 `three.engine` 中的冗余代码,为下个版本重构做准备

🟡 **Changed / 变更**

* `animation.animations.Gradient` renamed to `GradientItem`
`animation.animations.Gradient` 更名为 `GradientItem`

* The value of `core.constants.SIZE` has been changed from -24 to -20 (a value close to the system text size)
`core.constants.SIZE` 的值从 -24 更改为 -20(与系统文本大小接近的值)

* The default size of most widgets has been reduced to accommodate the font size change
大部分控件的默认大小缩小了,以配合字体大小的变更

* `style.theme` is renamed to `manager` to avoid having the same name as the theme folder
`style.theme` 更名为 `manager`,避免跟主题文件夹 theme 重名

* The rules for storing theme files have been completely changed, as shown in the module docstring for `style.parser`
主题文件存放规则完全更改,具体见 `style.parser` 的模块文档字符串

* `style.theme.custom_window` renamed to `style.manager.customize_window`
`style.theme.custom_window` 更名为 `style.manager.customize_window`

* `three.engine.Side` renamed to `three.engine.Plane`
`three.engine.Side` 更名为 `three.engine.Plane`

🔵 **Optimized / 优化**

* Now the third-party package `darkdetect` is no longer required, but optional. When this package is missing, some features will be unavailable
现在第三方包 `darkdetect` 不是必需的了,而是可选的。当缺少此包,将导致部分功能不可用

🟣 **Fixed / 修复**

* Fixed some incorrect docstrings
修正了部分错误的文档字符串

* Fixed an issue where the subject response event was not removed when the window was closed
修复了窗口关闭时未删去主题响应事件的问题

* Fixed an issue where the widget style did not change completely in some cases when the widget was disabled
修复了控件禁用时,部分情况下控件样式未完全更改的问题

🟤 **Refactored / 重构**

* `core.virtual` refactoring to remove redundant code and optimize existing code
`core.virtual` 重构,删去冗余代码,优化已有代码

* `style` refactored
`style` 重构

3.0.0.beta2

🕓 *Release Date / 发布日期 : 2024-06-03*

🟢 **Added / 新增**

* The docstrings for a portion of the code has been added
添加了一部分代码的文本字符串

* Modules have added a special variable `__all__`
模块都增加了特殊变量 `__all__`

* Subpackage `color` Added module `hsl` to support HSL color coding
子包 `color` 新增模块 `hsl` 以支持 HSL 颜色码

* The submodule `constants` adds the function `reset` to reset all constants to default
子模块 `constants` 新增函数 `reset` 来重置所有常量为默认值

* The submodule `theme` of the sub-package `style` has added the function `set_color_theme` to use the external theme
子包 `style` 的子模块 `theme` 新增函数 `set_color_theme` 来使用外部主题

* Added subpackage `toolbox` and function `load_font` to introduce external font files
新增子包 `toolbox` 以及函数 `load_font` 来引入外部字体文件

* Submodule `enhanced` of sub-package `toolbox` adds class `PhotoImage`
子包 `toolbox` 的子模块 `enhanced` 新增类 `PhotoImage`

* The submodule `tools` class `_Trigger` has been further enhanced by the addition of methods `lock` and `unlock` and related properties
子模块 `tools` 的类 `_Trigger` 新增方法 `lock` 和 `unlock` 以及相关属性,来进一步增强它的功能

* The submodule `images` has added a class `StillImage` to support png type static images
子模块 `images` 新增类 `StillImage` 来支持 png 类型的静态图片

* Virtual Picture Base Class `virtual.Image` implements the relevant methods
虚拟图片基类 `virtual.Image` 实现了相关方法

* The virtual widget base class `virtual.Widget` added new methods `appear` and `disappear` to hide and reproduce the widget as a whole
虚拟控件基类 `virtual.Widget` 新增了方法 `appear` 和 `disappear` 来实现控件整体的隐藏和再现

🟡 **Changed / 变更**

* The classes `Message`, `ColorChooser`, and `FontChooser` of the submodule `dialogs` have been renamed `TkMessage`, `TkColorChooser`, and `TkFontChooser`, respectively
子模块 `dialogs` 的类 `Message`、`ColorChooser` 和 `FontChooser` 分别更名为 `TkMessage`、`TkColorChooser` 和 `TkFontChooser`

* The function `tkintertools.style.theme.use_theme` is renamed to `set_color_mode`
函数 `tkintertools.style.theme.use_theme` 更名为 `set_color_mode`

* The rotation event of the class `Space` of the subpack `three` has been changed from the original left-mouse button to the middle mouse button
子包 `three` 的类 `Space` 的旋转事件由原来的鼠标左键触发更改为鼠标中键触发

🔵 **Optimized / 优化**

* Optimized the implementation of the function `custom_window` of the submodule `theme` to prevent it from taking effect in some cases
优化了子模块 `theme` 的函数 `custom_window` 的实现方式,防止某些情况下无法生效

* All container widgets have been optimized to prevent the functionality from working under certain conditions
所有容器控件都得到了优化,防止某些条件下会出现相关功能未生效的情况

* All virtual widgets are perfected with initialization parameters
所有虚拟控件都完善了初始化参数

🟤 **Refactored / 重构**

* Core code refactoring, from module `core.py` to sub-package `core`
核心代码重构,由模块 `core.py` 重构为子包 `core`

* Subpackage `three` refactoring
子包 `three` 重构

3.0.0.beta1

🕓 *Release Date / 发布日期 : 2024-05-17*

🟢 **Added / 新增**

* The docstrings for a portion of the code has been added
添加了一部分代码的文本字符串

* Added the animation class `MoveItem` to move items on the canvas
增加了动画类 `MoveItem` 来移动画布上的 Item

* The animation base class `Animation` adds the initialization parameter `derivation` to control whether the parameters of the callback function are derived
动画基类 `Animation` 增加了初始化参数 `derivation` 来控制回调函数的参数是否求导

* The subpackage `color` adds the module `colormap` to speed up the conversion of color names to their corresponding RGB codes
子包 `color` 增加了模块 `colormap` 来加速颜色名称到其对应 RGB 码的转换速度

* The subpackage `color` adds the functions `contrast`, `convert`, `blend` and `gradient` to complete the color processing mechanism
子包 `color` 新增函数 `contrast`、`convert`、`blend` 和 `gradient` 来完善颜色处理机制的功能

* The subpackage `style` adds the module `theme` to control the overall theme of the application
子包 `style` 新增模块 `theme` 来控制应用程序整体的主题

* Added method `disabled` to the widget class to disable it. If a style with a disabled state is defined in the stylesheet, the defined style is used, otherwise the style in the disabled state is automatically generated based on the current style (color to background color conversion by a factor of 0.618)

3.0.0.alpha7

🕓 *Release Date / 发布日期 : 2024-05-05*

🟤 **Refactored / 重构**

* Introducing a pure Python-based third-party module, `darkdetect`, to implement theme dynamic following system and multi-OS dark theme support
引入纯 Python 实现的第三方模块 `darkdetect`,以实现主题动态跟随系统以及多操作系统暗黑主题的支持

* Added text class widget
新增文本类控件

* Fixed a few bugs and added a lot of content to the framework
修复些许 bug,框架内增加大量内容

* Some basic dialogs have been added
增加了部分基本对话框

Page 3 of 17

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.