章节知识点总览

5.9 VKeyboard键盘

        Vkeyboard是Kivy中的屏幕键盘,其主旨在于让操作步骤对用户是透明的,这里不建议直接使用该小部件。并且该虚拟键盘具有停靠和自由两种模式:

        停靠模式(VKeyboard.docked=True):通常在只有私人使用该应用的情况下使用,例如,平板电脑或个人计算机等。

        自由模式(VKeyboard.docked=False):通常用于多点触控表面,此模式允许在屏幕上使用多个虚拟键盘。

5.9.1 使用方法

        如果对接模式发生更改,则需要手动调用VKeyboard.setup_mode()方法;否则更改不会产生影响。

        实例:设置VKeyboard键盘使用方法

        新建一个vkeyboard.py文件,其中添加一个键盘,具体代码如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.vkeyboard import VKeyboard


class VKeyboardTest(BoxLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)

        vk = VKeyboard()
        vk.bind(on_key_up=self.key_up)
        self.add_widget(vk)

    def key_up(self,*args):
        print("You have pressed the key is:",args[2])

class VKeyboardApp(App):
    def build(self):
        return VKeyboardTest()

if __name__ == '__main__':
    from kivy.core.window import Window
    Window.clearcolor = [.8,.8,.8,1]
    VKeyboardApp().run()

        运行vkeyboard.py文件,结果如下:

KeyboardInterrupt是什么 python python的keyboard库怎么用_python

5.9.2 常用属性

VKeyboard键盘常用属性

属性

说明

font_size

指定虚拟键盘按键上的文本大小,默认为20

background_color

背景颜色,格式为rgba,如果设置了背景,则颜色将与背景纹理结合在一起,默认为[1,1,1,1]

background_border

背景图像边框,用于控制背景边框,默认为[16,16,16,16]

docked

指示VKeyboard是否固定在屏幕上,默认为False

key_background_color

按键背景颜色。格式为rgba,如果设置了按键背景颜色,则颜色与按键背景纹理组合在一起,默认为[1,1,1,1]

key_border

按键图像边框,用于控制按键边框的属性,默认为[16,16,16,16]

key_margin

按键边距,边距由4个值(以像素为单位)组成:[top,right,bottom,left]

layout

指定VKeyboard的布局,默认为None

layout_path

从中读取布局的路径,默认为:“<kivy_data_dir>/keyboards/”

margin_hint

键盘背景和按键内容之间的间隔,由0-1之间的4个值组成:[top,right,bottom,left],默认为[.5,.6,.5,.6]

available_layouts

所有可用布局的字典,键是布局ID,值是JSON,默认为{}

target

用于发送键盘事件,默认为None

background

背景图像,默认为:“kivy\tools\theming\defaulttheme\vkeyboard_background.png" 

background_disabled

禁用VKeyboard时使用的背景图片,默认为”vkeyboard_disabled_background.png“

key_background_down

键盘上的触摸处于活动状态时使用的按键背景图像的文件名,默认为”vkayboard_key_down.png“

key_background_normal

窗口小部件上没有触摸时是哦那个的背景图像,默认为”vkeyboard_key_normal.png“

key_disabled_background_normal

按键背景图像的文件名,当小部件上没有任何触摸处于活动那个状态并且禁用了VKeyboard时使用,默认为”vkeyboard_disabled_key_normal.png“

setup_mode(*largs)

根据选项重新调整键盘

refresh(force=False)

根据所选布局重新创建整个小部件和图形

collide_margin(x,y)

进行碰撞测试,如果(x,y)在VKeyboard边缘内,则返回True

setup_mode_dock(*largs)

将键盘设置为停靠模式,不要直接调用此方法,在执行setup_mode()方法时使用

setup_mode_free

将键盘设置为自由模式,不要直接调用此方法,在执行setup_mode()方法时使用

on_key_down

当键盘收到按键事件(按下)时触发

on_key_up

当键盘收到按键事件(释放)时触发

callback

将回调设置为用户关闭VKeyboard时将调用的函数,默认为None