KivyのLabelウィジェットで、文字の色が変化してしまう
Anaconda + Python3.7 + Kivy でWindows上で動作するデスクトップアプリを開発しています。
デジタル時計のLabelを継承してデジタル時計のウィジェットを作ろうとしたところ、表示を更新するたびに色が変化してしまいます。
もちろん、色を変えるような処理は入れていません。
色は元の色よりもランダムに暗い色(比較的明るい時から真っ黒まで)と、元の色の2色を、ランダムに切り替わっているように見えます。
この現象は今作っているデジタル時計ウィジェット以外でも似た現象が起きているのを見たことがあります。
何か設定が足りていない等があるのでしょうか?
実際に動作させたコードは以下の通りです。
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.clock import Clock
from datetime import datetime
import pytz
from kivy.lang import Builder
Builder.load_string("""
<DigitalClock>:
font_size:30
""")
class DigitalClock(Label):
def __init__(self, **kwargs):
super().__init__(**kwargs)
Clock.schedule_interval(self.on_tick, 1.0)
self.timezone = pytz.timezone("Asia/Tokyo")
def on_tick(self, dt):
self.text = datetime.now(self.timezone).strftime("%Y/%m/%d %H:%M:%S")
self.size = self.texture_size
if __name__ == '__main__':
from kivy.app import App
class TestApp(App):
def build(self):
root = Widget()
root.add_widget(DigitalClock())
return root
TestApp().run()
これを実行すると、下の2枚のスクリーンショットのように更新のたびに色が変化します。