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

wn9m85ua  于 5个月前  发布在  PyCharm
关注(0)|答案(1)|浏览(64)

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

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()

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

[INFO   ] [Logger      ] Record log in /home/camcamyoung125/.kivy/logs/kivy_23-11-23_99.txt
[INFO   ] [Kivy        ] v2.2.1
[INFO   ] [Kivy        ] Installed at "/home/camcamyoung125/.local/lib/python3.11/lib/python3.11/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.11.3 (main, Jul 23 2023, 15:10:19) [GCC 10.2.1 20210110]
[INFO   ] [Python      ] Interpreter at "/home/camcamyoung125/.local/lib/python3.11/bin/python3.11"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 190 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'3.1 Mesa 21.2.6'>
[INFO   ] [GL          ] OpenGL vendor <b'Mesa/X.org'>
[INFO   ] [GL          ] OpenGL renderer <b'virgl (Mesa Intel(R) UHD Graphics (CML GT2))'>
[INFO   ] [GL          ] OpenGL parsed version: 3, 1
[INFO   ] [GL          ] Shading version <b'1.40'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[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中的完整日志:

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

字符串

相关问题