gpt4 book ai didi

kivy - kivy 中的圆角按钮角

转载 作者:行者123 更新时间:2023-12-03 13:52:39 31 4
gpt4 key购买 nike

为猕猴桃中的按钮创建圆角的首选方法是什么?

还有其他同样可行的方法来执行此任务吗?谢谢。

最佳答案

这是一个棘手的问题。就我而言,Widgets始终是矩形。但是我们可以更改背景,并分别使用background_normalbackground_down属性为正常和关闭状态放置几张图像。另外,您将需要了解border属性。

使用名为normal.pngdown.png的这两个图像,您可以开始添加圆形边框。



这是一段代码,非常简单(我尝试在下面解释 border 属性):

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.lang import Builder

Builder.load_string("""
<Base>:
Button:
background_normal: 'normal.png'
background_down: 'down.png'
border: 30,30,30,30
""")


class Base(FloatLayout):
pass

class ButtonsApp(App):
def build(self):
return Base()

if __name__ == "__main__":
ButtonsApp().run()

我的理解方式(我可能是错的)是这样。 border: 30,30,30,30中的值表明背景按钮的边框将使用顶部,右侧,底部和左侧的多少像素。其余部分将填充中间部分。我不确定在这里。顺便说一句,如果您想看一些很棒的东西,请参见 border: 150,150,150,150。原因是我们拾取的边框大于实际图像。

警告:小部件仍然是矩形。这意味着即使您单击圆角,该按钮仍会接收该事件。我想这是一个合理的价格。如果您想做得更好,也许我可以为您提供帮助,但是我们将需要使用一些数学方法来求和。文档中 Pong Game tutorial的窍门之一是实际上球是一个正方形。我发布了一个相关问题 here,但是您需要使用 Canvas

关于kivy - kivy 中的圆角按钮角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19005182/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com