图形用户界面小部件#
arcade.gui.UIAnchorWidget#
- class arcade.gui.UIAnchorWidget(*, child: arcade.gui.widgets.UIWidget, anchor_x: str = 'center', align_x: float = 0, anchor_y: str = 'center', align_y: float = 0, size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
小部件,它将自身相对于父级放置。
- 参数
child -- 此包装器的子级
anchor_x -- 哪个锚点用于x轴(左、中、右)
align_x -- X值的偏移量(-=左,+=右)
anchor_y -- Y轴使用哪个锚点(上、中、下)
align_y -- Y值的偏移量(-=向下,+=向上)
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用
arcade.gui.UIBorder#
- class arcade.gui.UIBorder(child: arcade.gui.widgets.UIWidget, border_width=2, border_color=(0, 0, 0, 255), size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
用给定颜色的边框包装小工具。
- 参数
child -- 此包装器的子级
border_width -- 边框的宽度
border_color -- 边框的颜色
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用
arcade.gui.UIBoxLayout#
- class arcade.gui.UIBoxLayout(x=0, y=0, vertical=True, align='center', children: Iterable[arcade.gui.widgets.UIWidget] = (), size_hint=None, size_hint_min=None, size_hint_max=None, space_between=0, style=None, **kwargs)[源代码]#
将小部件放置在彼此相邻的位置。根据垂直属性的不同,小部件的放置顺序是从上到下或从左到右。
arcade.gui.UIDummy#
arcade.gui.UIInputText#
- class arcade.gui.UIInputText(x: float = 0, y: float = 0, width: float = 100, height: float = 50, text: str = '', font_name=('Arial',), font_size: float = 12, text_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]] = (0, 0, 0, 255), multiline=False, size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
用户可以在其中键入文本的输入字段。
arcade.gui.UIInteractiveWidget#
arcade.gui.UILabel#
- class arcade.gui.UILabel(x: float = 0, y: float = 0, width: Optional[float] = None, height: Optional[float] = None, text: str = '', font_name=('Arial',), font_size: float = 12, text_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]] = (255, 255, 255, 255), bold=False, italic=False, stretch=False, anchor_x='left', anchor_y='bottom', align='left', dpi=None, multiline: bool = False, size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
一个简单的文本标签。还支持多行文字。如果要滚动文本,请使用
UITextArea
默认情况下,UILabel
将适合其初始内容,如果文本更改了使用UILabel.fit_content()
来调整大小。- 参数
x (float) -- 左下角的X坐标
y (float) -- 左下角的Y坐标
width (float) -- 小工具的宽度。如果未指定,则默认为文本宽度。
height (float) -- 小工具的高度。如果未指定,则默认为文本高度。
text (str) -- 标签的文本。
font_name -- 要使用的字体列表。程序将从列表的开始处启动,并继续尝试加载字体,直到成功。
font_size (float) -- 字体大小。
text_color (arcade.Color) -- 字体的颜色。
bold (bool) -- 粗体字体。
italic (bool) -- 斜体字体样式。
stretch (bool) -- 拉伸字体样式。
anchor_x (str) -- X坐标的锚点:以下其中之一
"left"
,"center"
或"right"
。anchor_y (str) -- Y坐标的锚点:以下其中之一
"bottom"
,"baseline"
,"center"
或"top"
。align (str) -- 行上文本的水平对齐方式,仅在提供宽度时才适用。其中之一
"left"
,"center"
或"right"
。dpi (float) -- 此布局中字体的分辨率。默认为96。
multiline (bool) -- 如果MULTLINE为真,则an将开始一个新行。多行为True的UITextWidget与UITextArea相同。
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 没有用过。
arcade.gui.UILayout#
- class arcade.gui.UILayout(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)[源代码]#
小部件的基类,用于定位自己或其子部件。
- 参数
- do_layout()[源代码]#
在渲染之前由UIManager触发,
UILayout
S应该将自己和/或孩子放在哪里。之后将在儿童身上触发DO布局。使用
UIWidget.trigger_render()
为了在下一帧之前触发渲染,如果此小部件的位置或大小发生更改,则会自动执行此操作。
arcade.gui.UIPadding#
- class arcade.gui.UIPadding(child: arcade.gui.widgets.UIWidget, padding=(0, 0, 0, 0), bg_color=None, size_hint=(1, 1), size_hint_min=None, size_hint_max=None, **kwargs)[源代码]#
包装小工具并应用填充。
- 参数
child -- 此包装器的子级
bg_color -- 背景颜色
padding -- 此小部件的外边框和子对象之间的空间
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用
arcade.gui.UISpace#
arcade.gui.UISpriteWidget#
- class arcade.gui.UISpriteWidget(*, x=0, y=0, width=100, height=100, sprite: Optional[arcade.sprite.Sprite] = None, size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
使用控制显示内容的精灵创建一个UI元素。
arcade.gui.UITextArea#
- class arcade.gui.UITextArea(x: float = 0, y: float = 0, width: float = 400, height: float = 40, text: str = '', font_name=('Arial',), font_size: float = 12, text_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]] = (255, 255, 255, 255), multiline: bool = True, scroll_speed: Optional[float] = None, size_hint=None, size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
可滚动文本的文本区。
- 参数
x (float) -- 左下角的X坐标
y (float) -- 左下角的Y坐标
width -- 微件的宽度
height -- 小工具的高度
text -- 要显示的文本
font_name -- 要加载的字体名称的字符串或元组
font_size -- 文本大小
text_color -- 文本的颜色
multiline -- 支持多行
scroll_speed -- 滚动速度
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用
arcade.gui.UITexturePane#
- class arcade.gui.UITexturePane(child: arcade.gui.widgets.UIWidget, tex: arcade.texture.Texture, padding=(0, 0, 0, 0), size_hint=(1, 1), size_hint_min=None, size_hint_max=None, style=None, **kwargs)[源代码]#
此包装器在呈现子小部件之前绘制背景
- 参数
child -- 此包装器的子级
tex -- 用作背景的纹理
padding -- 此小部件的外边框和子对象之间的空间
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用
arcade.gui.UIWidget#
- class arcade.gui.UIWidget(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)[源代码]#
这个
UIWidget
类是创建小部件所需的基类。我们还有一些您应该知道的默认值和行为:
- 参数
- add(child: arcade.gui.widgets.W, *, index=None) arcade.gui.widgets.W [源代码]#
向此添加小部件
UIWidget
作为一个孩子。添加的小部件将接收UI事件并呈现。默认情况下,最新添加的小部件将首先接收UI事件,并在其他小部件上呈现。
- 参数
child -- 要添加的小部件
index -- 添加微件的位置,没有优先级最高的微件
- 返回
给定的孩子
- dispatch_ui_event(event: arcade.gui.events.UIEvent)[源代码]#
派遣一名
UIEvent
使用侏儒事件分派机制
- do_render(surface: arcade.gui.surface.Surface)[源代码]#
呈现小部件的图形表示,使用
UIWidget.prepare_render()
将绘图区域限制为相对于0,0的小部件RECT和DRAIL。
- property position#
返回左下角坐标
- prepare_render(surface)[源代码]#
用于渲染的辅助对象,绘图区域将调整到自己的位置和大小。绘制调用必须相对于0,0。这也将防止在小部件区域之外的任何透支
- 参数
surface -- 用于渲染的曲面
- remove(child: arcade.gui.widgets.UIWidget)[源代码]#
从子对象列表中删除给定子对象。
- trigger_render()[源代码]#
这将在渲染下一帧之前延迟渲染,以便
UIWidget.do_render()
不会多次调用。
- with_background(texture: arcade.texture.Texture, top=0, right=0, bottom=0, left=0) arcade.gui.widgets.UITexturePane [源代码]#
用背景包装小工具
- 参数
texture -- 背景纹理
top -- 顶部填充
right -- 右填充
bottom -- 底部填充
left -- 左侧填充
- 返回
将自身作为子对象的包裹纹理
- with_border(width=2, color=(0, 0, 0)) arcade.gui.widgets.UIBorder [源代码]#
用边框包装此小部件
- 参数
width -- 边框宽度
color -- 边框颜色
- 返回
将自身作为子项的包络边框
- with_space_around(top: float = 0, right: float = 0, bottom: float = 0, left: float = 0, bg_color: Optional[Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]] = None) arcade.gui.widgets.UIPadding [源代码]#
包装此小部件并应用填充
- 参数
top -- 顶部填充
right -- 右填充
bottom -- 底部填充
left -- 左侧填充
bg_color -- 背景色
- 返回
以自身为子项的包裹式填充
arcade.gui.UIWidgetParent#
arcade.gui.UIWrapper#
- class arcade.gui.UIWrapper(*, child: arcade.gui.widgets.UIWidget, padding=(0, 0, 0, 0), size_hint=None, size_hint_min=None, size_hint_max=None, style=None)[源代码]#
包装为
arcade.gui.UIWidget
并在它周围预留空间,恰好有一个孩子供养。- 参数
child -- 此包装器的单个子级
padding -- 周围空间(上、右、下、左)
size_hint -- 浮点数元组(0.0-1.0),应请求多少父级空间
size_hint_min -- 以像素为单位的最小宽度和高度
size_hint_max -- 以像素为单位的最大宽度和高度
style -- 未使用