Python 我能';t在kivymd中从另一个屏幕获取textfield的值 screen\u helper=“” #:导入utils kivy.utils 屏幕管理器: id:屏幕管理器 菜单屏幕: 规则屏幕: 数字层: 配置文件屏幕: 播放器屏幕: 设置屏

Python 我能';t在kivymd中从另一个屏幕获取textfield的值 screen\u helper=“” #:导入utils kivy.utils 屏幕管理器: id:屏幕管理器 菜单屏幕: 规则屏幕: 数字层: 配置文件屏幕: 播放器屏幕: 设置屏,python,kivy,kivy-language,kivymd,Python,Kivy,Kivy Language,Kivymd,我能';t在kivymd中从另一个屏幕获取textfield的值 screen\u helper=“” #:导入utils kivy.utils 屏幕管理器: id:屏幕管理器 菜单屏幕: 规则屏幕: 数字层: 配置文件屏幕: 播放器屏幕: 设置屏幕: : 名称:“菜单” MDRectangleFlatButton: 文本:“开始” 位置提示:{'center_x':0.5,'center_y':0.6} 新闻界: root.manager.current='number' root.m

我能';t在kivymd中从另一个屏幕获取textfield的值
screen\u helper=“”
#:导入utils kivy.utils
屏幕管理器:
id:屏幕管理器
菜单屏幕:
规则屏幕:
数字层:
配置文件屏幕:
播放器屏幕:
设置屏幕:
:
名称:“菜单”
MDRectangleFlatButton:
文本:“开始”
位置提示:{'center_x':0.5,'center_y':0.6}
新闻界:
root.manager.current='number'
root.manager.transition.direction=“left”
MDRectangleFlatButton:
文本:“规则”
位置提示:{'center\ux':0.5,'center\uy':0.5}
新闻界:
root.manager.current='Rules'
root.manager.transition.direction=“向上”
MDRectangleFlatButton:
文本:“设置”
位置提示:{'center\ux':0.5,'center\uy':0.4}
新闻界:
root.manager.current='settings'
root.manager.transition.direction=“向下”
:
姓名:'号码'
MDTextField:
id:*numberfield**
提示文字:“输入玩家数量”
helper_文本:“最多允许4个用户”
帮助器\u文本\u模式:“打开焦点”
颜色模式:“自定义”
线条颜色焦点:app.theme\u cls.primary\u颜色
右图标:“帐户”
必填项:True
最大文本长度:4
图标\u右\u颜色:app.theme\u cls.primary\u颜色
位置提示:{'center_x':0.5,'center_y':0.5}
大小提示:无
宽度:300
MDRectangleFlatButton:
文本:“下一个”
位置提示:{'center_x':0.75,'center_y':0.2}
新闻界:
应用程序禁用_按钮(numberfield.text,根)
MDRectangleFlatButton:
文本:“返回”
位置提示:{'center\ux':0.25,'center\uy':0.2}
新闻界:
root.manager.current='菜单'
root.manager.transition.direction=“右”
:
名称:“规则”
MDLabel:
课文:“用不同的答案回答每个问题。所有的答案都将被随机排列,最后你会有许多有趣的句子”
哈利恩:“中心”
MDRectangleFlatButton:
文本:“返回”
位置提示:{'center\ux':0.25,'center\uy':0.2}
新闻界:
root.manager.current='菜单'
root.manager.transition.direction=“向下”
:
名称:“个人资料”
MDTextField:
最大文本长度:10
helper_文本:“您可以输入10个字符”
帮助器\u文本\u模式:“打开焦点”
id:profilefield
提示文字:“输入玩家1的用户名”
右图标:“帐户密钥”
必填项:True
最大文字长度:12
图标\u右\u颜色:app.theme\u cls.primary\u颜色
位置提示:{'center_x':0.5,'center_y':0.5}
大小提示:无
宽度:300
MDRectangleFlatButton:
文本:“返回”
位置提示:{'center\ux':0.25,'center\uy':0.2}
新闻界:
root.manager.current='number'
root.manager.transition.direction=“右”
MDRectangleFlatButton:
文本:“保存”
位置提示:{'center_x':0.75,'center_y':0.2}
新闻界:
应用程序.禁用按钮2(profilefield.text,根)
背景颜色:(1,1,1,0)
在以下情况之前:
颜色:
rgba:self.background\u颜色
矩形:
大小:self.size
pos:self.pos
#标签文本颜色
颜色:app.theme\u cls.primary\u颜色
:
姓名:'玩家'
MDRectangleFlatButton:
文本:“返回”
位置提示:{'center\ux':0.25,'center\uy':0.2}
新闻界:
root.manager.current='profile'
root.manager.transition.direction=“右”
MDRectangleFlatButton:
文本:“保存”
位置提示:{'center_x':0.75,'center_y':0.2}
新闻界:
root.manager.current='results'
网格布局:
科尔斯:1
位置:0,0
大小:root.width,root.height#取整个屏幕的大小
盒子布局:
方向:“垂直”
大小:root.width,root.height#用于整个屏幕
间距:0#按钮之间的间距
填充:130
标签:
文字:“谁?”
MDTextField:
身份证:谁
多行:False
标签:
文本:“与谁一起”
MDTextField:
身份证:谁
多行:False
标签:
课文:“你喜欢什么?”
MDTextField:
id:什么事
多行:False
标签:
文字:“什么时候?”
MDTextField:
id:什么时候
多行:False
标签:
文字:“哪里?”
MDTextField:
id:在哪里
多行:False
标签:
文本:“”
id:结果
字体大小:20
:
名称:“设置”
MDSwitch:
位置提示:{'center\ux':0.5,'center\uy':0.5}
on_active:应用程序on_开关on_active(自激活)
MDLabel:
文字:“灯光模式”
位置提示:{'center\ux':0.3,'center\uy':0.5}
哈利恩:“中心”
字体样式:“字幕2”
MDLabel:
文本:“暗模式”
位置提示:{'center\ux':1.15,'center\uy':0.5}
哈利格:“中心”
字体样式:“字幕2”
MDRectangleFlatButton:
文本:“返回主菜单”
位置提示:{'center\ux':0.5,'center\uy':0.4}
按:root.manager.current='菜单'
"""
从kivymd.app导入MDApp
从kivy.app导入应用程序
从kivy.uix.screenmanager导入screenmanager
从kivymd.uix.screen导入屏幕
从kivy.lang导入生成器
从帮助程序导入屏幕\u帮助程序
从kivymd.uix.textfield导入TextInput
类菜单屏幕(屏幕):
通过
类别编号图层(屏幕):
通过
类配置文件屏幕(屏幕):
通过
类规则屏幕(屏幕):
通过
班级播放机屏幕(屏幕):
通过
类别设置屏幕(屏幕):
通过
#创建屏幕管理器
sm=屏幕管理
screen_helper = """
#:import utils kivy.utils
ScreenManager:
    id:screen_manager
    MenuScreen:
    RulesScreen:
    NumberPlayers:
    ProfileScreen:
    PlayersScreen:
    SettingsScreen:
<MenuScreen>:
    name: 'menu'
    MDRectangleFlatButton:
        text: 'Start'
        pos_hint: {'center_x':0.5,'center_y':0.6}
        on_press: 
            root.manager.current = 'number'
            root.manager.transition.direction= "left"
    MDRectangleFlatButton:
        text: 'Rules'
        pos_hint: {'center_x':0.5,'center_y':0.5}
        on_press: 
            root.manager.current = 'Rules'
            root.manager.transition.direction= "up"
    MDRectangleFlatButton:
        text: 'Settings'  
        pos_hint: {'center_x':0.5,'center_y':0.4}
        on_press: 
            root.manager.current = 'settings'
            root.manager.transition.direction= "down"
<NumberPlayers>:
    name: 'number'
    MDTextField:
        id: **numberfield**
        hint_text: 'Enter the number of players'
        helper_text: 'Max 4 users allowed'
        helper_text_mode: 'on_focus'
        color_mode: 'custom'
        line_color_focus: app.theme_cls.primary_color
        icon_right: 'account'
        required: True
        max_text_length: 4
        icon_right_color: app.theme_cls.primary_color
        pos_hint:{'center_x': 0.5, 'center_y': 0.5}
        size_hint_x:None
        width:300 
    MDRectangleFlatButton:
        text: 'Next'
        pos_hint:{'center_x': 0.75, 'center_y': 0.2} 
        on_press:
            app.disabling_button(numberfield.text,root)
    MDRectangleFlatButton:
        text: 'Back'
        pos_hint: {'center_x':0.25,'center_y':0.2}
        on_press: 
            root.manager.current = 'menu'
            root.manager.transition.direction= "right"

<RulesScreen>:
    name: 'Rules'
    MDLabel:
        text: 'Answer each question with different answers. All the answers will be shuffled randomly and in the end you will have many funny sentences'
        halign: 'center'
    MDRectangleFlatButton:
        text: 'Back'
        pos_hint: {'center_x':0.25,'center_y':0.2}
        on_press: 
            root.manager.current = 'menu'
            root.manager.transition.direction= "down"
<ProfileScreen>:
    name: 'profile'
    MDTextField:
        max_text_length: 10
        helper_text: 'You can enter 10 characters'
        helper_text_mode: 'on_focus'
        id:  profilefield
        hint_text: "Enter username for player 1"     
        icon_right: "account-key"
        required: True
        max_text_lenght: 12
        icon_right_color: app.theme_cls.primary_color
        pos_hint:{'center_x': 0.5, 'center_y': 0.5}
        size_hint_x:None
        width:300
    MDRectangleFlatButton:
        text: 'Back'
        pos_hint: {'center_x':0.25,'center_y':0.2}
        on_press: 
            root.manager.current = 'number'
            root.manager.transition.direction= "right"
    MDRectangleFlatButton:
        text:'Save'
        pos_hint:{'center_x': 0.75, 'center_y': 0.2}
        on_press: 
            app.disabling_button2(profilefield.text,root)

<Label>
    background_color: (1,1,1,0)
    canvas.before:
        Color:
            rgba: self.background_color
        Rectangle:
            size: self.size
            pos: self.pos
     # label text color
    color:app.theme_cls.primary_color

<PlayersScreen>:
    name: 'players'
    MDRectangleFlatButton:
        text: 'Back'
        pos_hint: {'center_x':0.25,'center_y':0.2}
        on_press: 
            root.manager.current = 'profile'
            root.manager.transition.direction= "right"
        
    MDRectangleFlatButton:
        text:'Save'
        pos_hint:{'center_x': 0.75, 'center_y': 0.2}
        on_press:
            root.manager.current = 'results'

    GridLayout:
        cols: 1
        pos: 0,0
        size: root.width , root.height #take size of entire screen
        BoxLayout:
            orientation: "vertical"
            size: root.width, root.height # fot take entire screen
            spacing: 0 # space btween buttons
            padding: 130
            Label:
                text: "Who?"

            MDTextField:
                id: who
                multiline: False
            Label:
                text: "With whom"

            MDTextField:
                id: whom
                multiline: False
            Label:
                text: "What does?"

            MDTextField:
                id: whatdoes
                multiline: False
            Label:
                text: "When?"

            MDTextField:
                id: when
                multiline: False
            Label:
                text: "Where?"

            MDTextField:
                id: where
                multiline: False
            Label:
                text: ''
                id: result
                font_size: 20


<SettingsScreen>:
    name: 'settings'
    MDSwitch:
        pos_hint: {'center_x':0.5,'center_y':0.5}
        on_active: app.on_switch_active(self.active)
    MDLabel:
        text: 'Light Mode'
        pos_hint: {'center_x':0.3,'center_y':0.5}
        halign: 'center'
        font_style: 'Subtitle2'
    MDLabel:
        text: 'Dark Mode'
        pos_hint: {'center_x':1.15,'center_y':0.5}
        haligh: 'center'
        font_style: 'Subtitle2'
    MDRectangleFlatButton:
        text:'Go back to main menu'
        pos_hint: {'center_x':0.5,'center_y':0.4}
        on_press: root.manager.current = 'menu'

        






"""
from kivymd.app import MDApp
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager
from kivymd.uix.screen import Screen
from kivy.lang import Builder
from helper import screen_helper
from kivymd.uix.textfield import TextInput


class MenuScreen(Screen):
    pass


class NumberPlayers(Screen):
    pass


class ProfileScreen(Screen):
    pass


class RulesScreen(Screen):
    pass


class PlayersScreen(Screen):
    pass


class SettingsScreen(Screen):
    pass


# Create the screen manager
sm = ScreenManager()
sm.add_widget(MenuScreen(name='menu'))
sm.add_widget(ProfileScreen(name='profile'))
sm.add_widget(RulesScreen(name='Rules'))
sm.add_widget(PlayersScreen(name='players'))
sm.add_widget(NumberPlayers(name='number'))
sm.add_widget(SettingsScreen(name='settings'))


class DemoApp(MDApp, NumberPlayers):

    def build(self):
        self.theme_cls.primary_palette = "Blue"
        screen = Screen()
        self.username = Builder.load_string(screen_helper)
        screen.add_widget(self.username)

        return screen

    def on_switch_active(self, value):
        if value:
            self.theme_cls.theme_style = "Dark"
        else:
            self.theme_cls.theme_style = "Light"

    def disabling_button(self, empty, root):
        if empty and len(empty) < 5:
            root.manager.current = 'profile'

        else:
            self.disabled = True

    def disabling_button2(self, empty, root):
        if empty and len(empty) < 11:
            root.manager.current = 'players'
            root.manager.transition.direction = 'left'
        else:
            self.disabled = True