我设置了希伯来语键盘的格式,但不知道如何让按键工作,以便您键入的内容显示在顶部的文本字段中。”“键盘”包含每个键的功能。理论上应该调用它来打印每个键。可能有一个更有效的方法来做这件事,但这是我的第一个图形用户界面,所以我真的不知道该怎么做,也找不到一个在线解决方案,适合这种情况具体。你知道吗
import wx
calc=wx.App()
win=wx.Frame(None, title='gematria calculator', size=(1400,700), pos=(0,0))
import keyboard #contains functions for each key (eg- keyboard.aleph() should print letter aleph to the text field)
textfield=wx.TextCtrl(win, pos=(50,25), size=(1100,150)) #where everything should print to
enter=wx.Button(win, label='enter', pos=(1175,25), size=(200,150))
'''keys'''
space=wx.Button(win, label='space', pos=(400,500), size=(600,100))
aleph=wx.Button(win, label=u'\u05d0', pos=(500,200), size=(100,100))
bet=wx.Button(win, label=u'\u05d1', pos=(450,400), size=(100,100))
gimel=wx.Button(win, label=u'\u05d2', pos=(400,300), size=(100,100))
dallet=wx.Button(win, label=u'\u05d3', pos=(300,300), size=(100,100))
hey=wx.Button(win, label=u'\u05d4', pos=(550,400), size=(100,100))
vav=wx.Button(win, label=u'\u05d5', pos=(700,200), size=(100,100))
zayen=wx.Button(win, label=u'\u05d6', pos=(250,400), size=(100,100))
chet=wx.Button(win, label=u'\u05d7', pos=(800,300), size=(100,100))
tet=wx.Button(win, label=u'\u05d8', pos=(600,200), size=(100,100))
yud=wx.Button(win, label=u'\u05d9', pos=(700,300), size=(100,100))
kaf_s=wx.Button(win, label=u'\u05da', pos=(1000,300), size=(100,100))
kaf=wx.Button(win, label=u'\u05db', pos=(500,300), size=(100,100))
lammed=wx.Button(win, label=u'\u05dc', pos=(900,300), size=(100,100))
mem_s=wx.Button(win, label=u'\u05dd', pos=(900,200), size=(100,100))
mem=wx.Button(win, label=u'\u05de', pos=(750,400), size=(100,100))
nun_s=wx.Button(win, label=u'\u05df', pos=(800,200), size=(100,100))
nun=wx.Button(win, label=u'\u05e0', pos=(650,400), size=(100,100))
samech=wx.Button(win, label=u'\u05e1', pos=(350,400), size=(100,100))
ayin=wx.Button(win, label=u'\u05e2', pos=(600,300), size=(100,100))
pey_s=wx.Button(win, label=u'\u05e3', pos=(1100,300), size=(100,100))
pey=wx.Button(win, label=u'\u05e4', pos=(1000,200), size=(100,100))
tsadi_s=wx.Button(win, label=u'\u05e5', pos=(1050,400), size=(100,100))
tsadi=wx.Button(win, label=u'\u05e6', pos=(850,400), size=(100,100))
kuf=wx.Button(win, label=u'\u05e7', pos=(300,200), size=(100,100))
resh=wx.Button(win, label=u'\u05e8', pos=(400,200), size=(100,100))
shin=wx.Button(win, label=u'\u05e9', pos=(200,300), size=(100,100))
tuf=wx.Button(win, label=u'\u05ea', pos=(950,400), size=(100,100))
win.Show()
calc.MainLoop()
如果不确切知道
keyboard
模块中的函数做什么,很难回答,但我假设它们只是将相应的符号附加到文本字段中。你知道吗有这么多相似的按钮,对每个键使用wx id可能是最简单的,并且避免了创建许多相似的变量和函数的繁琐。类似地,如果
keyboard
模块中的每个函数所做的事情几乎相同,那么也可以将其分解出来。你知道吗因此,最简单的方法可能是将所有键盘信息放在一个配置“变量”中,并在构建控件时对其进行迭代。你知道吗
注意,代码中的dictionary
keyboard_controls
同时存储函数名和要添加的文本,但您只需要其中一个,这取决于哪个更合适。你知道吗您可能希望捕获EVT\u KEY\u并在该事件处理程序中进行字符串替换。所以当你抓到一个字母时,你把它翻译成合适的希伯来语字符,然后做如下操作:
相关问题 更多 >
编程相关推荐