【发布时间】:2016-06-29 20:18:23
【问题描述】:
我正在使用 kivy 做一个项目,但我的复选框有问题。起初我正在尝试编写类似 python 编码的程序(我知道它不干净,但我了解更多)而且我有一个带有这种编码的第一个屏幕:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.uix.checkbox import CheckBox
class MainScreen(GridLayout):
def __init__(self,**kwargs):
e=[]
super(MainScreen, self).__init__(**kwargs)
self.cols=2
def on_checkbox_active(checkbox, value):
if value:
e.append(value)
print e
else:
print('The checkbox', checkbox, 'is inactive')
self.add_widget(Label(text='Inserta assignatures desitjades',font_size=35))
self.add_widget(Label(text=''))
ch1 = CheckBox()
self.add_widget(ch1)
self.add_widget(Label(text='Termotecnia'))
ch2 = CheckBox()
self.add_widget(ch2)
self.add_widget(Label(text='Termotecnia'))
ch3 = CheckBox()
self.add_widget(ch3)
self.add_widget(Label(text='Termotecnia'))
ch4 = CheckBox()
self.add_widget(ch4)
self.add_widget(Label(text='Termotecnia'))
b1=Button(text='Exit',background_color=[0.7,0.7,1,1],font_size=24)
self.add_widget(b1)
b2=Button(text='Next',font_size=24,font_color=[1,3,4,0],background_color=[1,2,3,6])
self.add_widget(b2)
ch1.bind(active=on_checkbox_active)
ch2.bind(active=on_checkbox_active)
b1.bind(on_press=exit)
b2.bind(on_press=reloaded)
...
class SimpleKivy(App):
def build(self):
return MainScreen()
if __name__=='__main__':
SimpleKivy().run()
例如,我想选择两个或三个选项,然后将其保存到下一个屏幕,例如一种选择。如果有人知道如何操作并为下一个屏幕保存信息,那将对我有很大帮助,因为我有所有选项的下一个屏幕的代码,但我想在第一个屏幕中预先选择,然后只使用我已选择。另外,如果有人可以帮助我,我想知道当按下“下一步”按钮时如何过渡到另一个班级(屏幕)。我知道这个问题很简单,但我是 kivy 编程的新手,有些概念非常困难。谢谢。
【问题讨论】: