【发布时间】:2021-02-13 00:21:03
【问题描述】:
我的操作系统是windows10中文版。对于输入中文字符,我使用 IME 来选择单词,如下所示:
但在 Kivy 应用程序上,Textinput 小部件无法激活 IME 选择面板。例如,当我从 Kivy 运行登录演示时:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
class LoginScreen(GridLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text='User Name'))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text='password'))
self.password = TextInput(password=True, multiline=False)
self.add_widget(self.password)
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
应用屏幕是:
没有 IME 选择面板弹出窗口。我期望的是:
我从 Kivy 主页搜索 doc,所有与 IME 相关的页面都是关于移动设备的,而不是 windows。
请帮忙。
【问题讨论】:
-
到目前为止,我找到的唯一解决方案是更改SDL2.dll的源代码,并编译一个新的。这对我来说不是一个好选择,因为我不熟悉 c++ 堆栈。
标签: python windows user-interface kivy ime