2016-03-28 20 views
2

私はドロップダウンリストとしてアイテムを選択するためのスピナーを持っています。テキストフィールド自体のテキストは正常です。しかし、スピナーアイテムのテキストはぼやけて見えますが、添付の画像を参照してください。どうすればこの問題を解決できますか? Kivyスピナーのテキストが曖昧で/ぼんやりしています

enter image description here

ソースファイルqmonos.py:

from kivy.app import App 
from kivy.core.window import Window 
from kivy.uix.boxlayout import BoxLayout 

class qmonosHome(BoxLayout): 


    def init_qmonos(self): 

     self.objtype.text = '' 
     self.objtype.values = ('Home', 'Work', 'Other', 'Custom') 


class qmonosApp(App): 
    def build(self): 
     Window.clearcolor = (.95,.95,.95,1) 
     Window.size = (800, 200) 
     homeWin = qmonosHome() 
     homeWin.init_qmonos() 
     return homeWin 
qmonosApp().run() 

kivyファイルqmonos.kv

# File: qmonos.kv 
#:import Factory kivy.factory.Factory 

#:set color_button (.5,1,1,1) 
#:set color_button_pressed (0.7,0.9,1,1) 
#:set color_font (1,1,1,1) 


<[email protected]>: 
    background_color: color_button if self.state == 'down' else color_button_pressed 
    color: color_font 
    font_size: 12 
    text_size: self.width - 10, self.height 
    height: 25 

<qmonosHome>: 
    objtype:objtype 

    BoxLayout: 
     orientation: "horizontal" 
     padding: 10,10,10,10 

     BoxLayout 
      orientation: "vertical" 
      size_hint: 0.5,1 

      BoxLayout: 
       orientation: "horizontal" 
       height: "20dp" 
       size_hint_y: None 

       Label: 
        text: "Hello World" 
        size_hint: 1,1 
        size: self.texture_size 
        halign: 'left' 
        valign: 'middle' 
        font_size: 12 
        color: .3,.3,.3,1 
     BoxLayout 
      orientation: "vertical" 
      size_hint: 0.5,1 
      padding: 10,0,10,0 

      BoxLayout: 
       orientation: "horizontal" 
       height: "20dp" 
       size_hint_y: None 

       Label: 
        text: "Type Object:" 
        size_hint: 0.25,1 
        size: self.texture_size 
        halign: 'left' 
        valign: 'middle' 
        font_size: 12 
        color: .3,.3,.3,1 

       Spinner: 
        id: objtype 
        text: '' 
        background_color: color_button if self.state == 'normal' else color_button_pressed 
        color: color_font 
        option_cls: Factory.get("MySpinnerOption") 
        font_size: 12 
        text_size: self.width - 10, self.height 
        size_hint: 0.25,1 
        multiline: False 
        foreground_color: .3,.3,.3,1 
        disabled_foreground_color: .3,.3,.3,1 

       Label: 
        text: "Hello too" 
        size_hint: 0.5,1 
        size: self.texture_size 
        halign: 'left' 
        valign: 'middle' 
        font_size: 12 
        color: .3,.3,.3,1 
+1

Kivyには、テキストを表示する際の浮動小数点のヒントに問題があります。整数にすると問題が解決するはずです。また、問題のより良い調査のためにあなたのソースコードを持っていることはいいです、今のところ、私はそれを再現することができません。 – Leva7

+0

私はコード内の問題を切り離しました。上記のコードは適宜変更されています。私はパディングが問題を「始める」ことを知ったが、私は実際の原因が何であるかを知らない/理解していない。パディングステートメントをコメントアウトすると、スピナーは通常のように見えます。パディングを有効にすると、スピナー内のテキストが曖昧になります。 –

+0

私はKivyのスピナーやその他のオブジェクトで同じ種類の問題を抱えていました。私はこの特定の問題に対する答えを知りたいと思っています。私は両方のソリューションを試してみます –

答えて

1

これは明らかにされていないKivyの既知の問題であり、まだ固定されています。この場合の詳細については、これらのリンクを参照してください:GitHubGoogle GroupsBountysource。彼らは、問題は、テキストがピクセル全体ではなく、その一部に描かれているということです。
あなたのケースで予期せぬ解決策があります。パディングが正確に10であることが重要ですか?私は(12, 12, 12, 12)が完璧に動作し、テキストが鮮明であることを知ったので。それはちょっと変だけど、それはあなたのために働くことを願っています。それは私がこの問題を手伝ってくれる限りです。
この問題はKivy開発者に対処できますが、2014年に発見されたことを考慮すると、修正されていないのは驚きです。

+0

ああ、それは説明します。どうもありがとう。私の回避策は、空のラベルウィジェットによるパディングをキャンバスに置き換えることです。この段階で最も安全なソリューション...... –

関連する問題