我的操作系統是windows10中文版。對于輸入中文字符,我使用輸入法來選擇單詞,如下所示:但在 Kivy 應用程序上,Textinput 小部件無法激活 IME 選擇面板。例如,當我從 Kivy 運行登錄演示時: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()應用程序屏幕是:沒有彈出 IME 選擇面板。我期望的是:我從 Kivy 主頁搜索了文檔,所有 IME 相關頁面都是關于移動設備的,而不是關于 Windows 的。
1 回答

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