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

章节知识点总览

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打包

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静候光阴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值