目录

窗口

用于创建默认Kivy窗口的核心类。Kivy每个应用程序仅支持一个窗口:请勿尝试创建多个窗口。

class kivy.core.window.Keyboard(**kwargs)[源代码]

基类:EventDispatcher

WindowBase.request_keyboard() 返回的键盘接口。当你请求键盘时,会获得此类的实例。无论键盘输入是系统键盘还是虚拟键盘,你都将通过此实例接收事件。

事件:
on_key_down: 键码,文本,修饰键

当按下新键时触发。

on_key_up:键码

当按键释放(抬起)时触发。

以下是如何根据当前配置请求键盘的示例:

import kivy
kivy.require('1.0.8')

from kivy.core.window import Window
from kivy.uix.widget import Widget


class MyKeyboardListener(Widget):

    def __init__(self, **kwargs):
        super(MyKeyboardListener, self).__init__(**kwargs)
        self._keyboard = Window.request_keyboard(
            self._keyboard_closed, self, 'text')
        if self._keyboard.widget:
            # If it exists, this widget is a VKeyboard object which you can use
            # to change the keyboard layout.
            pass
        self._keyboard.bind(on_key_down=self._on_keyboard_down)

    def _keyboard_closed(self):
        print('My keyboard have been closed!')
        self._keyboard.unbind(on_key_down=self._on_keyboard_down)
        self._keyboard = None

    def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
        print('The key', keycode, 'have been pressed')
        print(' - text is %r' % text)
        print(' - modifiers are %r' % modifiers)

        # Keycode is composed of an integer + a string
        # If we hit escape, release the keyboard
        if keycode[1] == 'escape':
            keyboard.release()

        # Return True to accept the key. Otherwise, it will be used by
        # the system.
        return True


if __name__ == '__main__':
    from kivy.base import runTouchApp
    runTouchApp(MyKeyboardListener())
callback

当键盘释放时将调用的回调函数。

keycode_to_string(value)[源代码]

根据 Keyboard.keycodes 将键码数字转换为字符串。如果在键码中未找到该值,则返回 ''。

release()[源代码]

调用此方法以释放当前键盘。这将确保键盘不再与您的回调函数关联。

string_to_keycode(value)[源代码]

根据 Keyboard.keycodes 将字符串转换为键码数字。如果在键码中未找到该值,则返回 -1。

target

请求键盘的目标。

widget

VKeyboard 控件,若配置允许时

window

键盘所附加到的窗口

class kivy.core.window.WindowBase(**kwargs)[源代码]

基类:EventDispatcher

WindowBase 是任何窗口实现的抽象窗口组件。

参数:
borderless:字符串,取值为('0','1')之一

设置窗口边框状态。关于各值的更详细说明,请参阅 config 文档。

custom_titlebar:字符串,取值为('0','1')之一

设置为 '1' 以使用自定义标题栏。

fullscreen:字符串,可选值为('0'、'1'、'auto'、'fake')

将窗口设为全屏。有关这些值的更详细说明,请参阅 config 文档。

width:整数

窗口的宽度。

height:整数

窗口的高度。

minimum_width:整数

窗口的最小宽度(仅适用于sdl2窗口提供程序)。

minimum_height:整数

窗口的最小高度(仅适用于sdl2窗口提供者)。

always_on_top:布尔值

启用后,窗口将置于最前并保持在其他窗口之上。若禁用,则恢复默认行为。此功能仅适用于sdl2窗口提供程序。

allow_screensaver: 布尔值

允许设备显示屏幕保护程序,或在移动设备上进入休眠状态。默认为True。仅适用于sdl2窗口提供程序。

事件:
on_motion: etype, motionevent

当一个新的 MotionEvent 被分发时触发。

on_touch_down

当一个新的触摸事件被触发时,该事件被触发。

on_touch_move

当现有触摸事件的位置发生变化时触发。

on_touch_up

当现有触摸事件终止时触发。

on_draw

Window 正在被绘制时触发。

on_flip

Window 的 GL 表面正在翻转时触发。

on_rotate:旋转

Window 正在旋转时触发。

on_close

Window 被关闭时触发。

on_request_close

当事件循环想要关闭窗口时触发,或者当按下退出键且 exit_on_escapeTrue 时触发。如果绑定到此事件的函数返回 True,窗口将不会关闭。如果事件是由于键盘退出键触发的,则关键字参数 source 会以值 keyboard 分发给绑定的函数。

在 1.9.0 版本加入.

on_cursor_enter

当光标进入窗口时触发。

在 1.9.1 版本加入.

on_cursor_leave

当光标离开窗口时触发。

在 1.9.1 版本加入.

on_minimize

当窗口最小化时触发。

在 1.10.0 版本加入.

on_maximize

当窗口最大化时触发。

在 1.10.0 版本加入.

on_restore:

当窗口被恢复时触发。

在 1.10.0 版本加入.

on_hide

当窗口被隐藏时触发。

在 1.10.0 版本加入.

on_show

当窗口显示时触发。

在 1.10.0 版本加入.

on_keyboard:key、scancode、codepoint、modifier

当键盘用于输入时触发。

在 1.3.0 版本发生变更: unicode 参数已弃用,建议改用 codepoint,并将在未来版本中完全移除。

on_key_down:键值、扫描码、码点、修饰符

按键按下时触发。

在 1.3.0 版本发生变更: unicode 参数已弃用,建议改用 codepoint,并将在未来版本中完全移除。

on_key_up:按键、扫描码、码点

当按键释放时触发。

在 1.3.0 版本发生变更: unicode 参数已被弃用,建议改用 codepoint,并将在未来版本中完全移除。

on_drop_begin: x, y, *args

当文本或文件即将拖放到应用程序上时触发。

在 2.1.0 版本加入.

on_drop_file:文件名(字节),x,y,*args

当文件被拖放到应用程序上时触发。

在 1.2.0 版本加入.

在 2.1.0 版本发生变更: on_dropfile 重命名为 on_drop_file

on_drop_text:text(字节),x,y,*args

当文本被拖放到应用程序上时触发。

在 2.1.0 版本加入.

on_drop_end: x, y, *args

当文本或文件拖放到应用程序上的操作结束时触发。

在 2.1.0 版本加入.

on_memorywarning

当平台遇到内存问题时触发(主要在 iOS / Android 上)。您可以监听此事件,并尽可能清理资源。

在 1.9.0 版本加入.

on_textedit(self, text)

当使用输入法(IME)输入时触发。通过输入法输入的字符串将作为此事件的参数。

在 1.10.1 版本加入.

add_widget(widget, canvas=None)[源代码]

向窗口添加一个部件。

allow_screensaver

是否启用屏幕保护程序,或在移动设备上,应用打开时是否允许设备进入休眠状态。

在 1.10.0 版本加入.

allow_screensaver 是一个 BooleanProperty,默认值为 True。

always_on_top

启用后,窗口将置于最前并保持在其他窗口之上。若禁用,则恢复默认行为。

此选项可在窗口生命周期内自由切换。

仅适用于sdl2窗口提供程序。关于这些值的更详细说明,请参阅:mod:`~kivy.config`文档。

在 2.2.0 版本加入.

always_on_top 是一个 BooleanProperty,默认值为 False。

borderless

当设置为True时,此属性会移除窗口边框/装饰。关于这些值的更详细说明,请参阅:mod:`~kivy.config`文档。

在 1.9.0 版本加入.

borderless 是一个 BooleanProperty,默认值为 False。

center

旋转窗口的中心。

在 1.0.9 版本加入.

center 是一个 AliasProperty

children

此窗口的子部件列表。

children 是一个 ListProperty 实例,默认值为空列表。

使用 add_widget()remove_widget() 来操作子控件列表。除非你清楚自己在做什么,否则不要直接操作该列表。

clear()[源代码]

用背景颜色清除窗口。

clearcolor

用于清除窗口的颜色。

from kivy.core.window import Window

# red background color
Window.clearcolor = (1, 0, 0, 1)

# don't clear background at all
Window.clearcolor = None

在 1.7.2 版本发生变更: clearcolor 的默认值现在是:(0, 0, 0, 1)。

在 1.0.9 版本加入.

clearcolor 是一个 ColorProperty,默认值为 (0, 0, 0, 1)。

在 2.1.0 版本发生变更: AliasProperty 更改为 ColorProperty

close()[源代码]

关闭窗口

create_window(*largs)[源代码]

将创建主窗口并对其进行配置。

警告

该方法在运行时自动调用。如果你手动调用它,将会重新创建一个RenderContext和Canvas。这意味着你将拥有一个新的图形树,而旧的将无法使用。

该方法的存在是为了允许在关闭第一个OpenGL上下文之后创建新的OpenGL上下文。(例如使用runTouchApp()和stopTouchApp())。

此方法仅在单元测试环境中测试过,不适用于应用程序。

再次强调,除非你完全清楚自己在做什么,否则不要使用这个方法!

custom_titlebar

当设置为True时,允许用户将某个控件设置为标题栏。关于这些值的更详细说明,请参阅:mod:`~kivy.config`文档。

在 2.1.0 版本加入.

参见 set_custom_titlebar() 以了解详细用法。custom_titlebar 是一个 BooleanProperty,默认值为 False。

dpi

返回窗口计算出的屏幕DPI值。如果实现不支持DPI查询,则返回96。

警告

该值并非跨平台兼容。请改用 kivy.metrics.Metrics.dpi

event_managers = None

保存已注册事件管理器的`list`。

不要直接修改该属性,而应使用 register_event_manager()unregister_event_manager() 来注册和注销事件管理器。

事件管理器是 EventManagerBase 的一个实例。

在 2.1.0 版本加入.

警告

这是一个实验性属性,只要此警告存在,它就仍处于实验状态。

event_managers_dict = None

保存一个从 type_id 到事件管理器 listdict

不要直接修改该属性,而应使用 register_event_manager()unregister_event_manager() 来注册和注销事件管理器。

事件管理器是 EventManagerBase 的一个实例。

在 2.1.0 版本加入.

警告

这是一个实验性属性,只要此警告存在,它就仍处于实验状态。

flip()[源代码]

在缓冲区之间切换

focus

检查窗口当前是否具有焦点。

在 1.9.1 版本加入.

focus 是一个只读的 AliasProperty,默认值为 True。

fullscreen

该属性设置窗口的全屏模式。可用选项有:True、False、'auto' 和 'fake'。关于这些值的更详细说明,请参阅 config 文档。

fullscreen 是一个 OptionProperty,默认值为 False

在 1.2.0 版本加入.

备注

“fake”选项已被弃用,请改用 borderless 属性。

警告

在iOS上,将 fullscreen 设置为 False 不会自动隐藏状态栏。

要实现这一点,您必须将 fullscreen 设置为 False,同时将 borderless 设置为 False

get_gl_backend_name()[源代码]

返回将与此窗口一起使用或正在使用的GL后端。

gl_backends_allowed = []

一个Kivy GL后端名称列表,若不为空,则此列表将成为该窗口可使用的GL后端的唯一允许集合。

gl_backends_ignored = []

不能与此窗口一起使用的Kivy GL后端名称列表。

grab_mouse()[源代码]

抓取鼠标 - 使其不会离开窗口

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

height

旋转后的窗口高度。

height 是一个只读的 AliasProperty

hide()[源代码]

隐藏窗口。此方法仅应在桌面平台上使用。

在 1.9.0 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

icon

窗口图标的路径。

在 1.1.2 版本加入.

icon 是一个 StringProperty

keyboard_anim_args = {'d': 0.5, 't': 'in_out_quart'}

用于动画软键盘/IME的属性。t = transition`(过渡),`d = `duration`(持续时间)。此值在桌面上不会产生任何效果。

在 1.10.0 版本加入.

keyboard_anim_args 是一个字典,默认值为 {'t': 'in_out_quart', 'd': `.5}`。

keyboard_height

返回移动平台上软键盘/输入法的高度。如果不在移动平台上或输入法未激活,则返回0。

备注

该属性在Android上使用SDL2时返回0,但设置Window.softinput_mode确实有效。

在 1.9.0 版本加入.

keyboard_height 是一个只读的 AliasProperty,默认值为 0。

keyboard_padding

软键盘/输入法与目标或窗口底部之间的内边距。在桌面平台上无效。

在 1.10.0 版本加入.

keyboard_padding 是一个 NumericProperty,默认值为 0。

left

窗口的左侧位置。

备注

这是一个SDL2属性,其左上角为`[0, 0]`。

在 1.10.0 版本发生变更: left 现在是一个 AliasProperty

在 1.9.1 版本加入.

left 是一个 AliasProperty,默认值为 Config 中设置的位置。

mainloop()[源代码]

EventLoop 在空闲后每帧调用此方法。

managed_textinput = False

如果此Window类使用`on_textinput`来插入文本,则为True,内部使用。

maximize()[源代码]

最大化窗口。此方法应仅在桌面平台上使用。

在 1.9.0 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

minimize()[源代码]

最小化窗口。此方法仅应在桌面平台上使用。

在 1.9.0 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

minimum_height

限制窗口的最小高度。

在 1.9.1 版本加入.

minimum_height 是一个 NumericProperty,默认值为 0。

minimum_width

限制窗口的最小宽度。

在 1.9.1 版本加入.

minimum_width 是一个 NumericProperty,默认值为 0。

modifiers

当前激活的键盘修饰键列表。

在 1.0.9 版本加入.

modifiers 是一个 AliasProperty

mouse_pos

鼠标光标在窗口内的二维位置。

位置是相对于窗口的左下角点而言的。

备注

如果窗口提供程序支持高密度模式,光标位置将根据像素密度进行缩放。

在 1.2.0 版本加入.

mouse_pos 是一个 ObjectProperty,默认值为 (0, 0)。

on_close(*largs)[源代码]

当窗口关闭时调用的事件。

on_cursor_enter(*largs)[源代码]

当光标进入窗口时触发的事件。

在 1.9.1 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_cursor_leave(*largs)[源代码]

当光标离开窗口时调用的事件。

在 1.9.1 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_drop_begin(x, y, *args)[源代码]

当文本或文件即将拖放到应用程序上时触发的事件。该事件之后会跟随一个或多个 on_drop_texton_drop_file 事件,并以 on_drop_end 事件结束。

参数 xy 是拖放时鼠标光标的位置,仅当拖放源自鼠标时才应依赖它们。

参数:
xint

光标在拖放时的x位置,相对于窗口的 left 属性。

yint

光标在拖放时的y坐标位置,相对于窗口的 top 属性。

*argstuple

附加参数。

备注

此事件适用于sdl2窗口提供程序。

在 2.1.0 版本加入.

on_drop_end(x, y, *args)[源代码]

当文本或文件拖放到应用程序上的操作结束时,会调用此事件。

参数 xy 是拖放时鼠标光标的位置,仅当拖放源自鼠标时才应依赖它们。

参数:
xint

光标在拖放时的x位置,相对于窗口的 left 属性。

yint

光标在拖放时的y坐标位置,相对于窗口的 top 属性。

*argstuple

附加参数。

备注

此事件适用于sdl2窗口提供程序。

在 2.1.0 版本加入.

on_drop_file(filename, x, y, *args)[源代码]

当文件被拖放到应用程序上时调用的事件。

参数 xy 是拖放时鼠标光标的位置,仅当拖放源自鼠标时才应依赖它们。

参数:
filenamebytes

被拖放文件的绝对路径。

xint

光标在拖放时的x位置,相对于窗口的 left 属性。

yint

光标在拖放时的y坐标位置,相对于窗口的 top 属性。

*argstuple

附加参数。

警告

此事件目前适用于sdl2窗口提供程序,在pygame窗口提供程序以及使用修补版pygame的OS X系统上。此事件保留以供进一步演进(如iOS、Android等)。

备注

在Windows上,可以将文件拖放到窗口标题栏或边缘,此时:attr:`mouse_pos`不会更新,因为鼠标光标不在窗口内。

备注

此事件不适用于具有提升权限的应用,因为操作系统API调用会被过滤。请参阅问题 #4999 以获取变通方法的指引。

在 1.2.0 版本加入.

在 2.1.0 版本发生变更: on_dropfile 重命名为 on_drop_file

on_drop_text(text, x, y, *args)[源代码]

当文本被拖放到应用程序上时调用的事件。

参数 xy 是拖放时鼠标光标的位置,仅当拖放源自鼠标时才应依赖它们。

参数:
textbytes

被拖放的文本。

xint

光标在拖放时的x位置,相对于窗口的 left 属性。

yint

光标在拖放时的y坐标位置,相对于窗口的 top 属性。

*argstuple

附加参数。

备注

此事件在x11窗口上与sdl2窗口提供程序配合使用。

备注

在Windows系统上,可以将文本拖放到窗口标题栏或边缘,此时由于鼠标光标不在窗口内,mouse_pos 将不会被更新。

在 2.1.0 版本加入.

on_flip()[源代码]

在缓冲区之间切换(事件)

on_hide(*largs)[源代码]

窗口隐藏时调用的事件。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_joy_axis(stickid, axisid, value)[源代码]

当操纵杆的摇杆或其他轴移动时触发的事件。

在 1.9.0 版本加入.

on_joy_ball(stickid, ballid, xvalue, yvalue)[源代码]

当操纵杆的球移动时调用的事件。

在 1.9.0 版本加入.

on_joy_button_down(stickid, buttonid)[源代码]

当操纵杆上的按钮被按下时触发的事件。

在 1.9.0 版本加入.

on_joy_button_up(stickid, buttonid)[源代码]

当操纵杆上的按钮被释放时触发的事件。

在 1.9.0 版本加入.

on_joy_hat(stickid, hatid, value)[源代码]

当操纵杆的帽子/方向键移动时调用的事件。

在 1.9.0 版本加入.

on_key_down(key, scancode=None, codepoint=None, modifier=None, **kwargs)[源代码]

当按键按下时调用的事件(参数与on_keyboard相同)

on_key_up(key, scancode=None, codepoint=None, modifier=None, **kwargs)[源代码]

当按键释放时调用的事件(参数与 on_keyboard 相同)。

on_keyboard(key, scancode=None, codepoint=None, modifier=None, **kwargs)[源代码]

当键盘被使用时调用的事件。

警告

某些提供程序可能会省略 scancodecodepoint 和/或 modifier

on_maximize(*largs)[源代码]

当窗口最大化时调用的事件。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_memorywarning()[源代码]

当平台遇到内存问题时调用的事件。您的目标是尽可能清除应用中的缓存,释放未使用的控件,进行垃圾回收等。

目前,此事件仅在SDL2提供程序下,针对iOS和Android平台触发。

在 1.9.0 版本加入.

on_minimize(*largs)[源代码]

当窗口最小化时调用的事件。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_motion(etype, me)[源代码]

收到运动事件时调用的事件。

参数:
etype:字符串

"begin"、"update"或"end"之一。

meMotionEvent

当前正在派发的运动事件。

在 2.1.0 版本发生变更: 事件管理器首先处理触摸事件,如果它们都没有接受该事件(通过返回 True),那么窗口将根据 etype 通过 "on_touch_down"、"on_touch_move"、"on_touch_up" 事件分发 me。所有非触摸事件将仅通过管理器处理。

on_mouse_down(x, y, button, modifiers)[源代码]

当鼠标被使用(按下/释放)时调用的事件。

on_mouse_move(x, y, modifiers)[源代码]

当鼠标按下按钮并移动时触发的事件。

on_mouse_up(x, y, button, modifiers)[源代码]

当鼠标按下按钮并移动时触发的事件。

on_request_close(*largs, **kwargs)[源代码]

在关闭窗口之前调用的事件。如果绑定的函数返回 True,窗口将不会被关闭。如果该事件是由于键盘上的退出键触发的,那么关键字参数 source 会以值 keyboard 分发给绑定的函数。

警告

当绑定的函数返回True时,窗口将不会被关闭,因此请谨慎使用,因为即使用户点击了红色的X按钮,程序也无法被关闭。

on_resize(width, height)[源代码]

当窗口调整大小时调用的事件。

on_restore(*largs)[源代码]

当窗口被恢复时调用的事件。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_rotate(rotation)[源代码]

当屏幕旋转时调用的事件。

on_show(*largs)[源代码]

当窗口显示时调用的事件。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

on_textedit(text)[源代码]

当使用输入法(IME)输入时触发的事件。通过输入法输入的字符串将作为此事件的参数。

在 1.10.1 版本加入.

on_textinput(text)[源代码]

当输入文本时触发的事件,即输入了字母数字非控制键或一组键。由于无法保证我们接收到的是一个字符还是多个字符,此事件支持处理多个字符。

在 1.9.0 版本加入.

on_touch_down(touch)[源代码]

当触摸按下事件被触发时调用的事件。

在 1.9.0 版本发生变更: 在调用此方法之前,触摸的 pos 现在已被转换为窗口坐标。此前,调用此方法时,触摸的 pos 坐标会是 (0, 0)

on_touch_move(touch)[源代码]

当触摸事件移动(改变位置)时调用的事件。

在 1.9.0 版本发生变更: 在调用此方法之前,触摸的 pos 现在已被转换为窗口坐标。此前,调用此方法时,触摸的 pos 坐标会是 (0, 0)

on_touch_up(touch)[源代码]

当触摸事件被释放(终止)时调用的事件。

在 1.9.0 版本发生变更: 在调用此方法之前,触摸的 pos 现在已被转换为窗口坐标。此前,调用此方法时,触摸的 pos 坐标会是 (0, 0)

opacity

窗口的不透明度。接受介于0.0(透明)和1.0(不透明)之间的值。

备注

此功能需要SDL2窗口提供程序。

在 2.3.0 版本加入.

opacity 是一个 AliasProperty,默认值为 1.0

parent

此窗口的父级。

parent 是一个 ObjectProperty 实例,默认值为 None。创建时,父级被设置为窗口本身。如果你正在进行递归检查,必须注意这一点。

raise_window()[源代码]

将窗口置于前台。此方法仅应在桌面平台上使用。

在 1.9.1 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

register_event_manager(manager)[源代码]

注册并启动一个事件管理器,用于处理在 type_ids 属性中声明的事件。

在 2.1.0 版本加入.

警告

这是一个实验性方法,在移除该警告之前,它仍处于实验阶段,因为该方法可能在Kivy的未来版本中被更改或移除。

release_all_keyboards()[源代码]

在 1.0.8 版本加入.

这将确保不会请求虚拟键盘/系统键盘。所有实例都将被关闭。

release_keyboard(target=None)[源代码]

在 1.0.4 版本加入.

这是部件释放真实键盘的内部方法。请参阅 request_keyboard() 以了解其工作原理。

remove_widget(widget)[源代码]

从窗口中移除一个部件。

request_keyboard(callback, target, input_type='text', keyboard_suggestions=True)[源代码]

在 1.0.4 版本加入.

内部控件方法,用于请求键盘。此方法通常不需要最终用户调用,因为它由 TextInput 自动处理。我们将其公开,以便在特殊输入场景下手动管理键盘时使用。

控件可以请求键盘,并指定一个回调函数,在键盘被释放(或被其他控件占用)时调用。

参数:
callback:函数

当键盘关闭时将被调用的回调函数。这可能是因为其他程序请求了键盘,或者用户主动关闭了它。

target:控件

将键盘附加到指定的 target 上。这应该是请求键盘的控件。如果你在多用户模式下工作,请确保每个键盘都附加了不同的目标。

在 1.0.8 版本加入.

input_type:字符串

选择要请求的软键盘类型。可以是'null'、'text'、'number'、'url'、'mail'、'datetime'、'tel'、'address'之一。

备注

input_type 目前仅在 Android 上生效。

在 1.8.0 版本加入.

在 2.1.0 版本发生变更: 已将 null 添加到软键盘类型中。

keyboard_suggestions:布尔值

如果为 True,则在键盘顶部提供自动建议。这仅在 input_type 设置为 texturlmailaddress 时有效。

在 2.1.0 版本加入.

好的,请发送需要翻译的英文内容。:

一个包含回调、目标以及(如果配置允许)作为 .widget 属性附加的 VKeyboard 实例的 Keyboard 实例。

备注

此函数的行为在很大程度上受当前 keyboard_mode 的影响。有关更多信息,请参阅配置的 配置令牌 部分。

restore()[源代码]

恢复最大化或最小化窗口的大小和位置。此方法应仅在桌面平台上使用。

在 1.9.0 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

rotation

获取/设置窗口内容的旋转角度。可以是0、90、180、270度之一。

在 1.0.9 版本加入.

rotation 是一个 AliasProperty

screenshot(name='screenshot{:04d}.png')[源代码]

将实际显示的图像保存到文件中。

set_custom_titlebar(widget)[源代码]

将某个Widget设置为标题栏。

组件:

您想要设置为标题栏的部件

在 2.1.0 版本加入.

该函数在成功设置自定义标题栏时返回 True,否则返回 false

如何使用此功能

1. first set Window.custom_titlebar to True
2. then call Window.set_custom_titlebar with the widget/layout you want to set as titlebar as the argument # noqa: E501

如果你希望该Widget的子组件接收触摸事件,请在子组件中定义一个属性`draggable`并将其设置为False。

如果你在布局上设置了 draggable 属性,那么布局中的所有子组件都将接收触摸事件。

如需覆盖默认行为,请在组件中添加函数 in_drag_area(x,y)

该函数被调用时带有两个参数x和y,它们分别是mouse.x和mouse.y,函数应返回

如果该点应用于拖动窗口,则返回 True
如果你希望在触点位置接收触摸事件,则返回`False`。

备注

如果你使用了 in_drag_area() 属性,draggable 将不会被检查。

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

警告

必须将 custom_titlebar 设置为 True,才能成功将该控件设置为标题栏。

set_icon(filename)[源代码]

设置窗口的图标。

在 1.0.5 版本加入.

set_system_cursor(cursor_name)[源代码]

在窗口中设置鼠标光标的类型。

它可以是以下之一:'arrow'、'ibeam'、'wait'、'crosshair'、'wait_arrow'、'size_nwse'、'size_nesw'、'size_we'、'size_ns'、'size_all'、'no' 或 'hand'。

在某些平台上,可能不支持特定的光标类型,此时该选项会回退到可替代的选项之一。

Windows

macOS

Linux X11

Linux Wayland

箭头

箭头

箭头

箭头

箭头

ibeam

ibeam

ibeam

ibeam

ibeam

请提供需要翻译的英文内容。

请提供需要翻译的英文内容。

箭头

请提供需要翻译的英文内容。

请提供需要翻译的英文内容。

准星

准星

准星

准星

wait_arrow

箭头

箭头

请提供需要翻译的英文内容。

请提供需要翻译的英文内容。

size_nwse

size_nwse

size_all

size_all

size_nesw

size_nesw

size_all

size_all

size_we

size_we

size_we

size_we

size_ns

size_ns

size_ns

size_ns

size_all

size_all

size_all

size_all

没有。

没有。

没有。

没有。

ibeam

在 1.10.1 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

set_title(title)[源代码]

设置窗口标题。

在 1.0.5 版本加入.

set_vkeyboard_class(cls)[源代码]

在 1.0.8 版本加入.

设置要使用的VKeyboard类。如果设置为`None`,将使用:class:kivy.uix.vkeyboard.VKeyboard

shape_color_key

形状窗口的颜色键 - 设置将从窗口 shape_image 中隐藏的颜色(仅适用于 sdl2 窗口提供程序)。

在 1.10.1 版本加入.

shape_color_key 是一个 ColorProperty 实例,默认值为 [1, 1, 1, 1]。

在 2.0.0 版本发生变更: ListProperty 更改为 ColorProperty

shape_cutoff

窗口的 shape_image 裁剪属性(仅适用于 sdl2 窗口提供程序)。

在 1.10.1 版本加入.

shape_cutoff 是一个 BooleanProperty,默认值为 True。

shape_image

窗口形状的图像(仅适用于sdl2窗口提供程序)。

警告

图像尺寸必须与窗口尺寸相同!

在 1.10.1 版本加入.

shape_image 是一个 StringProperty,默认值为 'data/images/defaultshape.png'。该值取自 Config

shape_mode

用于形状塑造的窗口模式(仅适用于sdl2窗口提供程序)。

  • 只能是RGB格式。
    • default - 不执行任何特殊操作

    • colorkey - 隐藏 shape_color_key 所指定的颜色。

  • 必须包含alpha通道。
    • binalpha - 隐藏 shape_image 的 alpha 通道。

    • reversebinalpha - 仅显示 shape_image 的 alpha 通道。

备注

在真正设置模式之前,请确保窗口的大小与 shape_image 相同,最好在窗口实际创建之前通过 Config 进行设置。

如果未设置 shape_image,将使用默认图像,此时模式可能无法达到预期的视觉效果。

在 1.10.1 版本加入.

shape_mode 是一个 AliasProperty

shaped

只读属性,用于检查窗口是否可调整形状(仅适用于sdl2窗口提供程序)。

在 1.10.1 版本加入.

shaped 是一个 AliasProperty

show()[源代码]

显示窗口。此方法仅应在桌面平台上使用。

在 1.9.0 版本加入.

备注

此功能需要SDL2窗口提供程序,目前仅在桌面平台上支持。

show_cursor

设置窗口上是否显示光标。

在 1.9.1 版本加入.

show_cursor 是一个 BooleanProperty,默认值为 True。

size

获取窗口旋转后的尺寸。如果设置了 rotation,则尺寸将相应变化以反映旋转效果。

在 1.0.9 版本加入.

size 是一个 AliasProperty

softinput_mode

该参数指定了在移动平台上显示软键盘时窗口内容的行为。它可以是''、'pan'、'scale'、'resize'或'below_target'中的一种。它们的效果如下所列。

效果

我注意到您没有提供需要翻译的英文内容。请发送您希望翻译的Kivy框架技术文档文本,我会按照您的要求进行专业、准确的简体中文翻译。

主窗口保持不变,允许您使用 keyboard_height 属性手动管理窗口内容。

“平移”

主窗口会平移,使窗口底部始终保持在键盘上方。

“resize”

窗口被调整大小,内容缩放以适应剩余空间。

'below_target'

窗口会平移,使得当前请求键盘的目标TextInput控件正好显示在软键盘上方。

softinput_mode 是一个 OptionProperty,默认值为 ''。

备注

resize 选项目前在与 Android 上的 SDL2 一起使用时无法正常工作。

在 1.9.0 版本加入.

在 1.9.1 版本发生变更: 已添加“below_target”选项。

system_size

窗口的真实大小,忽略旋转。如果密度不为1,则 system_sizesize 除以密度。

在 1.0.9 版本加入.

system_size 是一个 AliasProperty

to_normalized_pos(x, y)[源代码]

使用 system_size 将绝对坐标转换为归一化(0-1)坐标。

在 2.1.0 版本加入.

top

窗口的顶部位置。

备注

这是一个SDL2属性,其左上角为`[0, 0]`。

在 1.10.0 版本发生变更: top 现在是一个 AliasProperty

在 1.9.1 版本加入.

top 是一个 AliasProperty,默认值为 Config 中设置的位置。

transform_motion_event_2d(me, widget=None)[源代码]

将运动事件 me 转换为此窗口大小,然后如果传入了 widget,则将 me 转换为 widget 的局部坐标。

抛出异常:

AttributeError:如果控件的祖先为 None

备注

除非是特定情况,否则在调用此方法前后,应分别调用 push()pop(),以保留 me 属性的先前值。

在 2.1.0 版本加入.

ungrab_mouse()[源代码]

取消鼠标抓取。

在 1.10.0 版本加入.

备注

此功能需要SDL2窗口提供程序。

unregister_event_manager(manager)[源代码]

注销并停止先前通过 register_event_manager() 注册的事件管理器。

在 2.1.0 版本加入.

警告

这是一个实验性方法,在移除该警告之前,它仍处于实验阶段,因为该方法可能在Kivy的未来版本中被更改或移除。

width

旋转后的窗口宽度。

width 是一个只读的 AliasProperty