gpt4 book ai didi

user-interface - Kivy - [严重] 绘制椭圆时警告迭代过多

转载 作者:行者123 更新时间:2023-12-05 04:17:21 29 4
gpt4 key购买 nike

我最近一直在努力在 Kivy 中创建一个填充的 Circle,当窗口的大小调整为不同的宽度或高度时,它仍然是一个圆。我在这里看了问题:

Centering an object in Kivy

但是当我像这样实现我的 Circle 时:

<BigCircle>
width: min(self.size)
height: min(self.size)
pos_hint: {'center_x': .5, 'center_y': .5}
canvas:
Color:
rgb: 1, 1, 0
Ellipse:
size: self.size
pos: self.pos

<MainScreen>:
FloatLayout
size: root.size
canvas:
Color:
rgb: 1, 1, 1
Rectangle:
size: self.size

BigCircle:
id: big_cir

class MainScreen(Screen):
pass
class MyApp(App):
def build(self):
sm = ScreenManager(transition=NoTransition())
sm.add_widget(MainScreen(name="Main"))
return sm

我得到错误:

[Critical][Clock ]Warning, too much iteration done before the next frame. Check your code, or increase the Clock.max_iteration attribute

我没有对 Clock 做任何事情,但我正在使用 ScreenManager。目前,MainScreen 是唯一的屏幕。如果我将高度/宽度更改为不包括 min() 那么它就可以工作,但这是保持 Circle 圆形所必需的。否则在调整大小时它会变长并且看起来很糟糕。

最佳答案

问题是由于 BigCircle widthheight 根据其 size 进行了调整,所以你有一个无限循环>(宽度、高度)。尝试将您的 BigCircle 更改为:

<BigCircle>
canvas:
Color:
rgb: 1, 1, 0
Ellipse:
size: min(self.size), min(self.size)
pos: root.center_x - min(self.size)/2, root.center_y - min(self.size)/2

关于user-interface - Kivy - [严重] 绘制椭圆时警告迭代过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23296856/

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