我的操作系統(tǒng)是windows10中文版。對(duì)于輸入中文字符,我使用輸入法來(lái)選擇單詞,如下所示:但在 Kivy 應(yīng)用程序上,Textinput 小部件無(wú)法激活 IME 選擇面板。例如,當(dāng)我從 Kivy 運(yùn)行登錄演示時(shí):from kivy.app import Appfrom kivy.uix.gridlayout import GridLayoutfrom kivy.uix.label import Labelfrom kivy.uix.textinput import TextInputclass 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()應(yīng)用程序屏幕是:沒(méi)有彈出 IME 選擇面板。我期望的是:我從 Kivy 主頁(yè)搜索了文檔,所有 IME 相關(guān)頁(yè)面都是關(guān)于移動(dòng)設(shè)備的,而不是關(guān)于 Windows 的。
1 回答

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
最后,我更改了SDL2的源代碼,并編譯了一個(gè)新的dll來(lái)修復(fù)它。當(dāng)然這不是一個(gè)好的解決方案,但這是我找到的唯一解決方案。
在這里下載 SDL2 源代碼:libsdl.org
找到一個(gè)名為“SDL_windowskeyboard.c”的文件,打開(kāi)它,添加宏定義:
重建它,確保選擇正確的平臺(tái)(win32或x64),然后復(fù)制生成的dll以覆蓋原始的。在我的項(xiàng)目中,sdl包位于venv環(huán)境“venv\share\sdl2\bin”中
添加回答
舉報(bào)
0/150
提交
取消