GUI#
arcade.gui.UIDraggableMixin#
- class arcade.gui.UIDraggableMixin(x=0, y=0, width=100, height=100, children: Iterable[arcade.gui.widgets.UIWidget] = (), size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
UIDraggableMixin可以用来制作任何
UIWidget
可拖拽的。例如,创建一个具有背景的可拖动框架,这对于类似窗口的构造很有用:
- 类DraggablePane(UITexturePane,UIDraggableMixin):
..。
这确实会覆盖
UILayout
定位自己的行为,比如UIAnchorWidget
arcade.gui.UIMouseFilterMixin#
- class arcade.gui.UIMouseFilterMixin(x: float = 0, y: float = 0, width: float = 100, height: float = 100, children: Iterable[arcade.gui.widgets.UIWidget] = (), size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
UIMouseFilterMixin
可用于捕获此小部件内发生的所有鼠标事件。对于类似窗口的小部件非常有用,
UIMouseEvents
不应触发小工具下的效果。
arcade.gui.UIWindowLikeMixin#
- class arcade.gui.UIWindowLikeMixin(x=0, y=0, width=100, height=100, children: Iterable[arcade.gui.widgets.UIWidget] = (), size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
使小部件窗口如下所示:
处理小部件边界内发生的所有鼠标事件
可以被拖动
arcade.gui.UIManager#
- class arcade.gui.UIManager(window: Optional[arcade.application.Window] = None, auto_enable=False)[源代码]#
V2用户界面管理器
manager = UIManager() manager.enable() # hook up window events manager.add(Dummy()) def on_draw(): self.clear() ... manager.draw() # draws the UI on screen
- add(widget: arcade.gui.ui_manager.W, *, index=None) arcade.gui.ui_manager.W [源代码]#
将小部件添加到
UIManager
。添加的小部件将接收UI事件并呈现。默认情况下,最新添加的小部件将首先接收UI事件,并在其他小部件上呈现。
- 参数
widget -- 要添加的小部件
index -- 添加微件的位置,没有优先级最高的微件
- 返回
小工具
- adjust_mouse_coordinates(x, y)[源代码]#
此方法用于将鼠标坐标转换为与摄影机的视区和投影相关的坐标。在最常见的情况下,实现应该是可行的。
如果您在
arcade.Camera
您必须使用以下摄像机转换重置滚动或覆盖此方法:ui_manager.adjust_mouse_coordinates = camera.mouse_coordinates_to_world
- disable()[源代码]#
删除处理程序函数 (on_. ..)来自
arcade.Window
如果每一次
arcade.View
使用它自己的arcade.gui.UIManager
,则应调用此方法arcade.View.on_hide_view()
。
- get_widgets_at(pos, cls=<class 'arcade.gui.widgets.UIWidget'>) Iterable[arcade.gui.ui_manager.W] [源代码]#
生成包含位置的所有小部件,返回作为CLS实例的第一个顶层小部件。
- 参数
pos -- 小部件范围内的位置
cls -- 小组件应该是其实例的
- 返回
位置上给定类型的微件的迭代器
- remove(child: arcade.gui.widgets.UIWidget)[源代码]#
从UIManager中删除给定的小工具。
- 参数
child (UIWidget) -- 要删除的小部件
- walk_widgets(*, root: Optional[arcade.gui.widgets.UIWidget] = None) Iterable[arcade.gui.widgets.UIWidget] [源代码]#
按相反的绘制顺序浏览小部件树(最先绘制的小部件最多)
arcade.gui.Surface#
- class arcade.gui.Surface(*, size: Tuple[int, int], position: Tuple[int, int] = (0, 0), pixel_ratio: float = 1.0)[源代码]#
持有一个
arcade.gl.Framebuffer
并将其上的图画抽象。在内部用于呈现小部件。- clear(color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]] = (0, 0, 0, 0))[源代码]#
清理表面
- property size#
以窗坐标表示的曲面大小
- property size_scaled#
缓冲区的物理大小