Kivy App每次启动时都会加载除默认颜色以外的其他颜色(错误)

时间:2019-05-19 14:30:30

标签: python kivy kivy-language

(Python 3.7.3 / Kivy 1.10.1 / Win10补丁1809)

您好,感谢您抽出一些时间来阅读我的信息。 Kivy加载我的应用程序文本时使用的颜色与默认颜色不同,我遇到了问题。所述文字应为白色(默认颜色),但有时在我关闭然后重新启动应用程序时会随机显示为灰色或接近黑色。昨天我没有这个问题,今天就开始发生。

以下是运行mytest.py的各种尝试的屏幕截图,除了关闭并重新启动应用程序外,我只做了其他事情:

第一次尝试: 1st attempt

第二次尝试: 2nd attempt

第三次尝试: 3rd attempt

第四次尝试: 4th attempt

此外,当我启动我的应用程序时,控制台中也会打印一些消息:

ANOMALY: use of REX.w is meaningless (default operand size is 64)

除了通过Pip卸载/重新安装Kivy之外,我没有尝试解决任何问题,因为我不知道先从哪里开始,我对Kivy和OpenGL都是陌生的。

>

这里是mytest.py

from kivy.app import App
from kivy.properties import ObjectProperty
from kivy.uix.textinput import TextInput
from kivy.uix.widget import Widget

class MyGrid(Widget):
    button_1 = ObjectProperty(None)

    def print_erase_all_text(self, text_input:TextInput):
        if text_input.text:
            print(text_input.text)
        text_input.select_all()
        text_input.delete_selection()

class MyTestApp(App):
    def build(self):
        return MyGrid()

if __name__ == '__main__':
    MyTestApp().run()

然后是mytest.kv

<MyGrid>
    textinput_1: textinput_1

    GridLayout:
        cols: 3
        size: root.width, root.height

        Label:
            text: "Text 1"

        TextInput:
            id: textinput_1
            multiline: False

        Button:
            text: "Print & erase"
            on_release:
                root.print_erase_all_text(textinput_1)

        Label:
            text: "Text 2"

        TextInput:
            multiline: False

        Button:
            text: "Do nothing"

        Label:
            text: "Text 3"

        TextInput:
            multiline: False

        Button:
            text: "Do nothing"

如您所见,我没有在代码中更改任何对象的颜色设置,因此除默认的白色外,其他任何颜色均不得显示文本。

我认为这就是我所拥有的全部信息。如果您还需要其他任何功能,请问我,我会尽力而为。再次感谢您阅读我的内容。

2 个答案:

答案 0 :(得分:0)

多亏了我,我得到了答案,将轮子安装在下面可以帮助我摆脱这个错误。非常感谢!

适用于Python 3.7的车轮64位:https://kivy.org/downloads/appveyor/kivy/Kivy-1.11.0.dev0-cp37-cp37m-win_amd64.whl

其他轮子:https://kivy.org/downloads/appveyor/kivy/

编辑:好吧,它工作了一会儿,然后即使是我原来的mytest.py,问题仍然出现,并且升级到了Kivy的站点包文件后,我没有做任何事情Kivy 1.11.0.dev0。 Kivy是否真的适合开发稳定的应用程序,还是总是那么混乱?我真的希望它能正常工作,Kivy看起来很有趣,但看起来一点也不稳定。 我什至不知道现在在哪里发布,所以我想我会编辑这篇文章,直到获得答案,然后再发布答案。

编辑2:只是屏幕截图:

enter image description here

答案 1 :(得分:0)

操作系统-Windows 10

卸载Kivy&Dependencies

python -m pip uninstall kivy
python -m pip uninstall kivy.deps.sdl2
python -m pip uninstall kivy.deps.glew
python -m pip uninstall kivy.deps.gstreamer

安装

python -m pip install --upgrade pip wheel setuptools
python -m pip install kivy.deps.sdl2==0.1.18
python -m pip install docutils pygments pypiwin32 kivy.deps.glew
python -m pip install kivy.deps.gstreamer
python -m pip install kivy.deps.angle
python -m pip install kivy

验证SDL2-0.1.18

检查 kivy.deps.sdl2 版本是否为0.1.18,即文件夹名称 kivy.deps.sdl2-0.1.18.dist-info < / strong>,位于C:\Users\username\AppData\Local\Programs\Python\Python37\Lib\site-packages中。将 username 替换为您的用户名。