为什么Kivy中的文本模糊/模糊

时间:2016-03-28 08:30:45

标签: spinner 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)


<MySpinnerOption@SpinnerOption>:
    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 个答案:

答案 0 :(得分:1)

这是Kivy的一个已知问题,显然还没有修复。有关此案例的详情,请参阅这些链接:GitHubGoogle GroupsBountysource。他们说问题是文本不是在整个像素上绘制的,而是在它的一部分上绘制的 在你的情况下一个意想不到的解决方案:弄乱填充。填充是否正好10?因为我发现(12, 12, 12, 12)完美无缺,文字很清晰。这有点奇怪,但我希望它适合你。我可以帮助你解决这个问题 你可以向Kivy开发者解决这个问题,但考虑到它是在2014年被发现的,我很惊讶它没有被修复。