<p>目前我还没有收到这个问题的答案,但我已经找到了另一个可能的解决方案,使用不同的代码,这是所需的一部分,尽管这是一个很好的部分解决方案。你知道吗</p>
<p>我有两个屏幕:在“主屏幕”有一个按钮,指向“屏幕2”,已经在那里,我可以选择一个或几个选项的四个“复选框”,然后按下按钮“Aceptar”所作的选择,这反过来是立即打印在同一屏幕上,然后按第二个按钮“Volver”返回到屏幕初始屏幕“主屏幕”。你知道吗</p>
<p>缺少的是,所做的选择也会在第一个“主屏幕”中更新。你知道吗</p>
<p>我已经搜索了好几个星期了,我找到并实现的所有代码对我来说都不起作用;我总是在类家长和孩子之间出现属性错误问题。你知道吗</p>
<p>如果我没有得到答案,我想我会尝试在一个类中实现我的项目,并将功能集中在.kv文件中,以便能够完成我所需要的工作,而不会因为类之间不可访问的属性权限而使事情复杂化。你知道吗</p>
<p>接下来,我将与大家分享我制作的,并且我已经对它们进行了注释的.py和.kv代码,以便它们能够在PC中进行验证,以防有人想要输入一个可能的解决方案。你知道吗</p>
<p>非常感谢。你知道吗</p>
<p>.py公司</p>
<pre><code>from kivy.app import App
from kivy.uix.screenmanager import Screen
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.properties import StringProperty
from kivy.properties import ObjectProperty
from kivy.uix.screenmanager import ScreenManager
Window.size = (600, 325)
class MainScreen(Screen):
manager = ObjectProperty(None)
def __init__(self, *args, **kwargs):
super(MainScreen, self).__init__(*args, **kwargs)
def on_pre_enter(self):
Window.size = (600, 400)
class Screen2(Screen):
def __init__(self, *args, **kwargs):
super(Screen2, self).__init__(**kwargs)
def on_pre_enter(self):
Window.size = (380, 280)
gender1 = StringProperty("")
gender2 = StringProperty("")
gender3 = StringProperty("")
gender4 = StringProperty("")
gender5 = StringProperty("")
def insert_data(self):
print("Gender1={}".format(self.gender1))
print("Gender2={}".format(self.gender2))
print("Gender3={}".format(self.gender3))
print("Gender4={}".format(self.gender4))
self.ids['label_9'].text = format(self.gender1)
self.ids['label_10'].text = format(self.gender2)
self.ids['label_11'].text = format(self.gender3)
self.ids['label_12'].text = format(self.gender4)
class WidMounts(BoxLayout):
None
class ScreenManagement(ScreenManager):
pass
presentation = Builder.load_file("CheckBox 7.kv")
class MyApp(App):
def build(self):
return presentation
if __name__ == '__main__':
MyApp().run()
</code></pre>
<p>千伏</p>
<pre><code>#:kivy 1.10.0
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
# File name: CheckBox 7.kv
ScreenManagement:
id: screen_manager
transition: FadeTransition()
MainScreen:
name: "star1"
Screen2:
name: "star2"
<MainScreen>:
id: principal
name: "star1"
padding: 1
spacing: 1
orientation: "horizontal"
canvas:
Color:
rgb: 0, 0, 1
Rectangle:
size: self.size
pos: self.pos
Button:
id: play
text: "Play"
font_size:30
text_size: None, None
halign:'center'
size_hint: .2, .14
color:0,1,1,1
pos_hint:{'center_x':.50,'y':.30}
on_release: root.manager.current = "star2"
Label:
id:label_13
text:"?..."
text_size: (110, 40)
halign:'left'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.57,'y':.80}
color:1,1,1,1
Label:
id:label_14
text:"?.."
text_size: (110, 40)
halign:'left'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.57,'y':.70}
color:1,1,1,1
Label:
id:label_15
text:"?.."
text_size: (110, 40)
halign:'left'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.57,'y':.60}
color:1,1,1,1
Label:
id:label_16
text:"?.."
text_size: (110, 40)
halign:'left'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.57,'y':.50}
color:1,1,1,1
<Screen2>:
name: "star2"
GridLayout:
size:self.size
cols: 2
size_hint:.9, .99
padding : 100,20
spacing: 20, 20
row_default_height: '10dp'
Label:
id:label_r
text: "R"
text_size: self.size
halign:'center'
valign: 'middle'
CheckBox:
id : chk
text: "R"
on_active:
root.gender1 = self.text
Label:
text: 'F'
text_size: self.size
halign:'center'
valign: 'middle'
CheckBox:
text: "F"
on_active:
root.gender2 = self.text
Label:
text: 'C'
text_size: self.size
halign:'center'
valign: 'middle'
CheckBox:
text: "C"
on_active:
root.gender3 = self.text
Label:
text: 'T'
text_size: self.size
halign:'center'
valign: 'middle'
CheckBox:
text: "T"
on_active:
root.gender4 = self.text
Button:
text: 'Aceptar'
on_press: root.insert_data()
Button:
text: 'Volver'
on_release: root.manager.current = "star1"
Label:
id:label_9
text:"?"
text_size: (110, 40)
halign:'center'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.30,'y':.90}
color:1,0,0,1
Label:
id:label_10
text:"?"
text_size: (110, 40)
halign:'center'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.30,'y':.80}
color:1,0,0,1
Label:
id:label_11
text:"?"
text_size: (110, 40)
halign:'center'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.30,'y':.70}
color:1,0,0,1
Label:
id:label_12
text:"?"
text_size: (110, 40)
halign:'center'
font_size:30
size_hint:1, .15
pos_hint:{'center_x':.30,'y':.60}
color:1,0,0,1
</code></pre>