下面的代码有效,我可以清楚地看到 takim_isimleri_box BoxLayout 的蓝色 Color(0, 0.525, 0.953, 1) 背景 基本代码:
from kivy.graphics import Color, RoundedRectangle, Line
from kivy.uix.boxlayout import BoxLayout
takim_isimleri_box = BoxLayout()
with takim_isimleri_box.canvas.before:
Color(0, 0.525, 0.953, 1) # Background color
takim_isimleri_box.rect = RoundedRectangle(size=takim_isimleri_box.size, pos=takim_isimleri_box.pos, radius=[10, 10, 10, 10])
def update_rect2(instance, value):
instance.rect.size = instance.size
instance.rect.pos = instance.pos
takim_isimleri_box.bind(size=update_rect2, pos=update_rect2)
我想通过纯Python在Kivy中的背景颜色后添加白色边框? 我可以这样做吗?
我尝试过,我向 Chatgpt 询问它,它推荐了我下面的代码,但没有成功。 聊天点:
from kivy.graphics import Color, RoundedRectangle, Line
from kivy.uix.boxlayout import BoxLayout
takim_isimleri_box = BoxLayout()
with takim_isimleri_box.canvas.before:
Color(0, 0.525, 0.953, 1) # Background color
takim_isimleri_box.rect = RoundedRectangle(size=takim_isimleri_box.size, pos=takim_isimleri_box.pos, radius=[10, 10, 10, 10])
with takim_isimleri_box.canvas.after:
Color(1, 1, 1, 1) # White color for the border
Line(rectangle=(takim_isimleri_box.x, takim_isimleri_box.y, takim_isimleri_box.width, takim_isimleri_box.height), width=1.5)
def update_rect2(instance, value):
instance.rect.size = instance.size
instance.rect.pos = instance.pos
takim_isimleri_box.bind(size=update_rect2, pos=update_rect2)
上面的代码不起作用。没有白色边框。我只看到蓝色背景,没有白色边框。
非常感谢
这是您要找的吗?
import kivy
from kivy.graphics import Color, Line, RoundedRectangle
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class MyApp(App):
def build(self):
box = BoxLayout()
with box.canvas:
Color(0, 0, 1)
RoundedRectangle(size=box.size, pos=box.pos)
Color(1, 1, 1)
Line(rectangle=[box.x, box.y, box.width, box.height], width=10)
return box
if __name__ == '__main__':
MyApp().run()