【问题标题】:Kivy Image Buttons Are Shaped Like... Lemons?Kivy 图像按钮的形状像......柠檬?
【发布时间】:2022-06-13 15:18:32
【问题描述】:

我正在尝试在 python 中构建一个 GUI,其中包含一组按钮和右侧的一些圆形菜单项。我为菜单项制作了一些 png 文件,但是当我将它们作为按钮添加到代码中时,它显示它们有点像两个柠檬在彼此顶部旋转 90°。有点像这样:Lemon Buttons

这些是我制作的图标:

Circular Buttons

这是我现在拥有的代码。

from kivy.app import App 
from kivy.uix.button import Button 
from kivy.config import Config
from kivy.uix.floatlayout import FloatLayout

buttonSize = (0.3, 0.2)

Config.set('graphics', 'resizable', True)

class MyApp(App):

    def build(self):

        layout = FloatLayout()

        button1 = Button(
            text='1st Function', 
            size_hint=buttonSize,
            pos_hint={'x':.05, 'y':.75}
        )
        
        button2 = Button(
            text='2nd Function',
            size_hint=buttonSize,
            pos_hint={'x':.4, 'y':.75}
        )

        button3 = Button(
            text='3rd Function',
            size_hint=buttonSize,
            pos_hint={'x':.05, 'y':.475}
        )

        button4 = Button(
            text='4th Function',
            size_hint=buttonSize,
            pos_hint={'x':0.4, 'y':0.475}
        )

        button5 = Button(
            text='5th Function',
            size_hint=buttonSize,
            pos_hint={'x':.05, 'y':.2}
        )

        button6 = Button(
            text='6th Function',
            size_hint=buttonSize,
            pos_hint={'x':0.4, 'y':0.2}
        )

        menuButton = Button(
            background_normal='Circular Button.png',
            background_down='Circular Button Down.png',
            size_hint=(0.125, 0.15),
            pos_hint={'x':0.8, 'y':0.8}
        )

        patientButton = Button(
            background_normal='Patient Button.png',
            background_down='Patient Button Down.png',
            size_hint=(0.125, 0.15),
            pos_hint={'x':0.8, 'y':0.5}
        )

        layout.add_widget(button1)
        layout.add_widget(button2)
        layout.add_widget(button3)
        layout.add_widget(button4)
        layout.add_widget(button5)
        layout.add_widget(button6)
        layout.add_widget(menuButton)
        layout.add_widget(patientButton)

        return layout

if __name__ == '__main__':
    app = MyApp()
    app.run()

如何让图标显示正常的圆圈而不是这些怪物?

【问题讨论】:

    标签: kivy


    【解决方案1】:

    这似乎是由(缺少)边框属性引起的。
    通过将边框设置为 0 来修复它,如下所示:

    menuButton = Button(
        background_normal='Circular Button.png',
        background_down='Circular Button Down.png',
        size_hint=(0.1, 0.1),
        pos_hint={'x':0.8, 'y':0.8},
        border=(0, 0, 0, 0)
    )
    
    patientButton = Button(
        background_normal='Patient Button.png',
        background_down='Patient Button Down.png',
        size_hint=(0.2, 0.2),
        pos_hint={'x':0.8, 'y':0.5},
        border=(0, 0, 0, 0)
    )
    

    结果(图像不是完全正方形,我设置了第二个到两倍的大小提示,这只是为了测试):

    【讨论】:

    • 很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多