python - CRITICAL] [Clock ] 警告,在下一帧之前完成了太多迭代
问题描述
我只是在学习,我试图运行这个简单的代码:我有一个问题,我们能帮帮我吗:这是我的应用程序代码:
from kivymd.app import MDApp
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
Screen_helper = """
ScreenManager:
MenuScreen:
InscriptionScreen:
LoginScreen:
<MenuScreen>:
name: 'menu'
MDRectangleFlatButton:
text: 'Inscription'
pos_hint: {'center_x':0.5,'center_y':0.6}
on_press: root.manager.current = 'Inscription'
MDRectangleFlatButton:
text: 'Login'
pos_hint: {'center_x':0.5,'center_y':0.5}
on_press: root.manager.current = 'Login'
<InscriptionScreen>:
name: 'Inscription'
MDLabel:
text: "Inscription"
pos_hint: {"center_y": .85}
font_style:"H4"
halign : "center"
theme_text_color : "Custom"
text_color : 0, 0, 0, 1
MDTextField:
hint_text: "Enter First Name"
icon_right:"account"
pos_hint:{'center_x':0.5,'center_y':0.7}
size_hint_x:None
width:300
MDTextField:
hint_text: "Enter Last Name"
icon_right : "account"
pos_hint:{'center_x':0.5,'center_y':0.6}
size_hint_x:None
width:300
MDTextField:
hint_text: "Enter Email"
icon_right: "mail"
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
size_hint_x: None
width: 300
MDTextField:
hint_text: "Enter Username"
icon_right:"account-plus"
pos_hint:{'center_x':0.5,'center_y':0.4}
size_hint_x:None
width:300
MDTextField:
hint_text: "Enter Password"
icon_right:"lock"
pos_hint:{'center_x':0.5,'center_y':0.3}
size_hint_x:None
width:300
password: True
MDTextField:
hint_text: "Confirm Password"
icon_right:"lock"
pos_hint:{'center_x':0.5,'center_y':0.2}
size_hint_x:None
width:300
password: True
MDRaisedButton:
text:"Valider"
font_style:"H4"
type: 'bottom'
pos_hint: {'center_x':0.5,'center_y':0.08}
size_hint_x: 0.5
MDRectangleFlatButton:
text: ' re'
icon:"keyboard-return"
pos_hint: {'center_x':0.1,'center_y':0.9}
on_press: root.manager.current = 'menu'
type : 'Detour'
<LoginScreen>:
name: 'Login'
MDLabel:
text: "Login"
pos_hint: {"center_y": .85}
font_style:"H4"
halign : "center"
theme_text_color : "Custom"
MDTextField:
hint_text: "Username"
icon_right:"account"
pos_hint:{'center_x':0.5,'center_y':0.7}
size_hint_x:None
width:300
MDTextField:
hint_text: "Password"
icon_right : "lock"
pos_hint:{'center_x':0.5,'center_y':0.6}
size_hint_x:None
width:300
password : True
MDRaisedButton:
text:"Log in"
pos_hint: {'center_x':0.5,'center_y':0.4}
size_hint_x: 0.5
MDRectangleFlatButton:
text: 'Back'
pos_hint: {'center_x':0.9,'center_y':0.1}
on_press: root.manager.current = 'menu'
"""
class MenuScreen(Screen):
pass
class InscriptionScreen(Screen):
pass
class LoginScreen(Screen):
pass
# Create the screen manager
sm = ScreenManager()
sm.add_widget(MenuScreen(name="menu"))
sm.add_widget(InscriptionScreen(name="Inscription"))
sm.add_widget(LoginScreen(name="Login"))
class DemoApp(MDApp):
def build(self):
screen = Builder.load_string(Screen_helper)
return screen
DemoApp().run()
控制台反复给出这个错误,但弹出窗口就好了:
[CRITICAL ] [Clock ] 警告,在下一帧之前完成了太多迭代。检查您的代码,或增加 Clock.max_iteration 属性
解决方案
尝试删除评论sm
后的行Create the screen manager
:
# Create the screen manager
sm = ScreenManager()
sm.add_widget(MenuScreen(name="menu"))
sm.add_widget(InscriptionScreen(name="Inscription"))
sm.add_widget(LoginScreen(name="Login"))
这些行正在构建一个不在任何地方使用的小部件树。实际的小部件树由以下方式构建:
screen = Builder.load_string(Screen_helper)
不确定这是否会解决您的问题,但它应该会有所帮助。
如果这不起作用,您可以按照警告提示进行操作:
from kivy.clock import Clock
Clock.max_iteration = 20
推荐阅读
- apache-flink - 将 PyFlink 与 LightGBM 一起使用
- continuous-integration - Gitlab CI/CD 执行特定阶段而不是所有阶段
- android - 如何解决此 Android SQLite Room DAO 错误消息?
- c - 1+1/2+1/3+1/4+......+1/n=log n 的和是什么时候和等于n的和等于n,即1+1/2+ 1/3+1/4+......+1/n=n
- javascript - 如何使用父子值从多维数组值中创建字符串?- 动态 SQL 查询生成器
- javascript - 为什么我看不到这个 axios post 请求的响应?
- angular - Angular:在 Angular 组件模板中使用时数据变得未定义但存在于组件中
- c# - 如何在 Uwp 中使用 mvvm 从子级更新布局页面内容
- reinforcement-learning - 对于连续动作空间,是否有任何符合 OpenAI Gym 的接口实现?
- machine-learning - 用于二进制分类问题的 CNN 架构(红外图像)