pycharm 为什么当我尝试添加文本输入框时Kivy不运行?

wn9m85ua  于 2024-01-09  发布在  PyCharm
关注(0)|答案(1)|浏览(165)

所以我遇到的问题是,如果我的Kivy应用程序中有一个TextInput字段,它就无法启动。(我使用的是Pycharm社区版)
只有标签的应用程序将运行良好。
没有错误,只是应用程序的窗口不会像正常情况下使用标签时那样弹出。
这是我尝试运行的代码:

  1. from kivy.app import App
  2. from kivy.uix.gridlayout import GridLayout
  3. from kivy.uix.label import Label
  4. from kivy.uix.textinput import TextInput
  5. class LoginScreen(GridLayout):
  6. def __init__(self, **kwargs):
  7. super(LoginScreen, self).__init__(**kwargs)
  8. self.cols = 2
  9. self.add_widget(Label(text='User Name'))
  10. self.username = TextInput(multiline=False)
  11. self.add_widget(self.username)
  12. self.add_widget(Label(text='password'))
  13. self.password = TextInput(password=True, multiline=False)
  14. self.add_widget(self.password)
  15. class MyApp(App):
  16. def build(self):
  17. return LoginScreen()
  18. if __name__ == '__main__':
  19. MyApp().run()

字符串
这是运行此代码时的控制台日志:

  1. [INFO ] [Logger ] Record log in /home/camcamyoung125/.kivy/logs/kivy_23-11-23_99.txt
  2. [INFO ] [Kivy ] v2.2.1
  3. [INFO ] [Kivy ] Installed at "/home/camcamyoung125/.local/lib/python3.11/lib/python3.11/site-packages/kivy/__init__.py"
  4. [INFO ] [Python ] v3.11.3 (main, Jul 23 2023, 15:10:19) [GCC 10.2.1 20210110]
  5. [INFO ] [Python ] Interpreter at "/home/camcamyoung125/.local/lib/python3.11/bin/python3.11"
  6. [INFO ] [Logger ] Purge log fired. Processing...
  7. [INFO ] [Logger ] Purge finished!
  8. [INFO ] [Factory ] 190 symbols loaded
  9. [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
  10. [INFO ] [Text ] Provider: sdl2
  11. [INFO ] [Window ] Provider: sdl2
  12. [INFO ] [GL ] Using the "OpenGL" graphics system
  13. [INFO ] [GL ] Backend used <sdl2>
  14. [INFO ] [GL ] OpenGL version <b'3.1 Mesa 21.2.6'>
  15. [INFO ] [GL ] OpenGL vendor <b'Mesa/X.org'>
  16. [INFO ] [GL ] OpenGL renderer <b'virgl (Mesa Intel(R) UHD Graphics (CML GT2))'>
  17. [INFO ] [GL ] OpenGL parsed version: 3, 1
  18. [INFO ] [GL ] Shading version <b'1.40'>
  19. [INFO ] [GL ] Texture max size <16384>
  20. [INFO ] [GL ] Texture max units <16>
  21. [INFO ] [Window ] auto add sdl2 input provider
  22. [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked


控制台日志到此结束,应用程序窗口不会弹出。
我试过扰乱解释器,但从我所能收集的不是一个解释器的问题,因为Kivy运行良好时,不使用文本输入。
任何建议或步骤,我可以尝试将不胜感激。谢谢!

编辑

所以问题出在Pycharm上,使用不同的IDE,比如Visual Code,对我来说是一个解决方案。

guykilcj

guykilcj1#

通常情况下,IDE不应该改变Kivy或您使用的任何其他库的行为。IDE的更改可能会修改您当前的Python环境(到VSCode),允许您的代码运行。
我可以确认代码在Pycharm和VSCode中都能完美运行。默认情况下,Pycharm使用自己的虚拟环境,与VSCode相反;这可能导致了问题。
以下是我在Pycharm for Python 3.11和Kivy library 2.2.1中的完整日志:

  1. [INFO ] [Logger ] Record log in C:\Users\Agathe\.kivy\logs\kivy_23-12-16_64.txt
  2. [INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.3
  3. [INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.1
  4. [INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.6.0
  5. [INFO ] [Kivy ] v2.2.1
  6. [INFO ] [Kivy ] Installed at "H:\Documents\Private\Paul\Programmation\StackOverFlow\venv\Lib\site-packages\kivy\__init__.py"
  7. [INFO ] [Python ] v3.11.7 (tags/v3.11.7:fa7a6f2, Dec 4 2023, 19:24:49) [MSC v.1937 64 bit (AMD64)]
  8. [INFO ] [Python ] Interpreter at "H:\Documents\Private\Paul\Programmation\StackOverFlow\venv\Scripts\python.exe"
  9. [INFO ] [Logger ] Purge log fired. Processing...
  10. [INFO ] [Logger ] Purge finished!
  11. [INFO ] [Factory ] 190 symbols loaded
  12. [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
  13. [INFO ] [Text ] Provider: sdl2
  14. [INFO ] [Window ] Provider: sdl2
  15. [INFO ] [GL ] Using the "OpenGL" graphics system
  16. [INFO ] [GL ] GLEW initialization succeeded
  17. [INFO ] [GL ] Backend used <glew>
  18. [INFO ] [GL ] OpenGL version <b'4.6.0 NVIDIA 527.56'>
  19. [INFO ] [GL ] OpenGL vendor <b'NVIDIA Corporation'>
  20. [INFO ] [GL ] OpenGL renderer <b'NVIDIA GeForce GTX 1060/PCIe/SSE2'>
  21. [INFO ] [GL ] OpenGL parsed version: 4, 6
  22. [INFO ] [GL ] Shading version <b'4.60 NVIDIA'>
  23. [INFO ] [GL ] Texture max size <32768>
  24. [INFO ] [GL ] Texture max units <32>
  25. [INFO ] [Window ] auto add sdl2 input provider
  26. [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
  27. [INFO ] [Base ] Start application main loop
  28. [INFO ] [GL ] NPOT texture support is available

字符串

展开查看全部

相关问题