zoukankan      html  css  js  c++  java
  • QtKeyboard-master(桌面虚拟键盘)

     

    介绍

    数字键盘

    英文

    中文

     

    符号

    大写

     

    1.类图分析

    1.1 AbstractKeyboard与Keyboard
    类图中AbstractKeyboard继承于QWidget,而Keyboard则继承于AbstractKeyboard。
    或许有人会问,为什么Keyboard直接继承于QWidget这样更简单直接?

    这里看情况,在单个键盘的情况下这种做法是简单直接。如何是存在多个键盘(数字键盘,字母键盘等),我们需要切换起来就会变得很麻烦
    AbstractKeyboard提供
    namesetName接口是为了标识多个键盘的情况。

    类图

     

    1.2 KeyboardKeyButton

    • Keyboard存在多个KeyButton;
    • Keyboard类通过构造多个按键并使用(h1(),h2(),h3(),h4())进行布局。
    • 当用户按下切换大小写按钮触发事先构造绑定在Keyboard类的switchCapsLock槽函数。

      1.3 KeyButtonKeyMode

    • 由于KeyButtonKeyMode为了表达按键的多种显示,比如小写q,当按下大写切换就会变为大写Q,当按下字符切换就会切换到数字1
    • KeyMode的Mode包含按键的key值,按键的value,按键在界面的显示值,还有按键的类型

      2.用户使用键盘顺序图

      3. 用户切换大小写键盘为例

      KeyButton

      Mode为一个状态,

       

      List存储了这个按键的多个状态,用于切换大小写switchCapsLock和特殊符号switchSpecialChar

       

      按键信息的传递流程:

       

  • 相关阅读:
    大数据
    入门
    bootstrap
    django 实现
    django
    爬虫
    汇编指令
    JavaScript
    那些年踩过的坑
    实现网页代码
  • 原文地址:https://www.cnblogs.com/tangyuanjie/p/14304611.html
Copyright © 2011-2022 走看看