【发布时间】:2021-06-07 08:20:02
【问题描述】:
我想用我的 VKeyboard 用 kivy 语言在我的 TextInput 框中写一些东西。 但这是行不通的。 我已经将 json 用于 VKeyboard,因为我没有找到另一种方法。 如果你知道如何使用 VKeyboard 请告诉我。
我想在 .kv 文件上使用 VKeyboard
这是我的代码(带有 kv 文件的 kivy 代码):
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.properties import ObjectProperty
from kivy.uix.screenmanager import ScreenManager , Screen
from kivy.uix.image import Image
from kivy.core.window import Window
from kivy.base import runTouchApp
from kivymd.app import MDApp
from kivy.clock import Clock
from kivy.properties import StringProperty
from kivy.uix.vkeyboard import VKeyboard
class StartTestBtn(Screen):
def read_data(self):
print(self.ids.ti.text)
class WindowManager(ScreenManager):
pass
Builder.load_string("""
#:import utils kivy.utils
<WindowManager>:
StartTestBtn:
<StartTestBtn>:
name: "startTestBtn"
BoxLayout:
cols:1
orientation: "vertical"
size: root.width , root.height
padding: 100, 300, 300 , 500
TextInput:
id : ti
text : ti.text
multiline:False
size_hint_x: 1
height: 50
size_hint_y: None
width: 200
hint_text: "Enter User ID"
icon_right: "account"
font_size:24
BoxLayout:
cols:1
orientation: "vertical"
size: root.width , root.height
padding: 1000, 30, 30 , 400
VKeyboard:
layout: 'numeric.json'
""")
class Shenacell(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "BlueGray"
return WindowManager()
if __name__ == '__main__' :
Shenacell().run()
这是我的 json 文件:
{
"title": "Qwerty",
"description": "A classical US Keyboard",
"cols": 15,
"rows": 5,
"normal_1": [
["`", "`", "`", 1], ["1", "1", "1", 1], ["2", "2", "2", 1],
["3", "3", "3", 1], ["4", "4", "4", 1], ["5", "5", "5", 1],
["6", "6", "6", 1], ["7", "7", "7", 1], ["8", "8", "8", 1],
["9", "9", "9", 1], ["0", "0", "0", 1], ["-", "-", "-", 1],
["=", "=", "=", 1], ["\u232b", null, "backspace", 2]
],
"normal_2" : [
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
["y", "y", "y", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
["o", "o", "o", 1], ["p", "p", "p", 1], ["[", "[", "[", 1],
["]", "]", "j", 1], ["\\", "\\", "\\", 1]
],
"normal_3": [
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
["l", "l", "l", 1], [":", ":", ":", 1], ["'", "'", "'", 1],
["\u23ce", null, "enter", 2.2]
],
"normal_4": [
["\u21e7", null, "shift", 2.5], ["z", "z", null, 1], ["x", "x", "x", 1],
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
["n", "n", "n", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
[".", ".", ".", 1], ["/", "/", "/", 1], ["\u21e7", null, "shift", 2.5]
],
"normal_5": [
[" ", " ", "spacebar", 12], ["\u2b12", null, "layout", 1.5], ["\u2a2f", null, "escape", 1.5]
],
"shift_1": [
["~", "~", "~", 1], ["!", "!", "!", 1], ["@", "@", "@", 1],
["#", "#", "#", 1], ["$", "$", "$", 1], ["%", "%", "%", 1],
["^", "^", null, 1], ["&", "&", "&", 1], ["*", "*", "*", 1],
["(", "(", "(", 1], [")", ")", ")", 1], ["_", "_", "_", 1],
["+", "+", "+", 1], ["\u232b", null, "backspace", 2]
],
"shift_2": [
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", null, 1], ["W", "W", null, 1],
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
["Y", "Y", "y", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
["O", "O", "o", 1], ["P", "P", "p", 1], ["{", "{", "{", 1],
["}", "}", "}", 1], ["|", "|", "|", 1.5]
],
"shift_3": [
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
["L", "L", "l", 1], [";", ";", ";", 1], ["\"", "\"", "\"", 1],
["\u23ce", null, "enter", 2.2]
],
"shift_4": [
["\u21e7", null, "shift", 2.5], ["Z", "Z", "z", 1], ["X", "X", "x", 1],
["C", "C", "c", 1], ["V", "V", "v", 1], ["B", "B", "b", 1],
["N", "N", "n", 1], ["M", "M", "m", 1], ["<", "<", "<", 1],
[">", ">", ">", 1], ["?", "?", "?", 1.5], ["\u21e7", null, "shift", 2.5]
],
"shift_5": [
[" ", " ", "spacebar", 12], ["\u2b12", null, "layout", 1.5], ["\u2a2f", null, "escape", 1.5]
]
}
【问题讨论】:
标签: python python-3.x kivy kivy-language