《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——VKeyboard键盘

  • Post author:
  • Post category:python



章节知识点总览

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文件,结果如下:

cf34be03226c45bf94a1d5bc241d0dc4.png

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

上一篇:

高级UX部件——VideoPlayer视频播放

下一篇:

打包——Windwos打包



版权声明:本文为lstef原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。