Config.set('graphics', 'resizable', '0')
class MyApp(App):
list_of_tasks=['Задание №1: составьте структурную формулу бутена-1',
'Задание №2: составьте структурную формулу 3-этилгексена-1',
'Задание №3: составьте структурную формулу 2,3-диметилгексена-1',
'Задание №4: составьте структурную формулу метилпропена-1',
'Задание №5: составьте структурную формулу 5-метилгексена-2',
'Задание №6: составьте структурную формулу 2-метилгексена-3',
'Задание №7: составьте структурную формулу 2,3-диметилбутена-2',
'Задание №8: составьте структурную формулу пентена-1',
'Задание №9: составьте структурную формулу 2-метилбутена-2',
'Задание №10: составьте структурную формулу 3-диметилбутен-1']
answers=['Верный ответ!','Неверный ответ!']
label=Label(text='Задание №1: составьте структурную формулу бутена ',pos=(0,200))
answer_label = Label(text=random.choice(answers))
i=0
iii=0
ii=str(iii)
label_0_10=Label(text='0/10',pos=(300,250))
submit=Button(text='Принять ответ',pos=(200,100))#,size_hint=(.5,.15),on_press=self.random_answer)
completed_tasks=[]
def new_task(self, *args):
if self.i==9:
self.label.text=self.list_of_tasks[0]
self.i=0
else:
self.label.text=self.list_of_tasks[self.i+1]
self.i+=1
self.ii = str(self.iii)
self.label_0_10.text = self.ii + '/10'
self.root.clear_widgets()
self.root.add_widget(self.label)
self.root.add_widget(self.label_0_10)
self.root.add_widget(Button(text='Принять ответ', pos=(200, 100), size_hint=(.5, .15), on_press=self.random_answer))
anchor_for_button = AnchorLayout(anchor_x='right', anchor_y='bottom')
anchor_for_button.add_widget(Button(text='Перейти к следующей задаче>', size_hint=[.35, .05], on_press=self.new_task))
self.root.add_widget(anchor_for_button)
anchor_for_button2 = AnchorLayout(anchor_x='left', anchor_y='bottom')
anchor_for_button2.add_widget(Button(text='<Перейти к предыдущей задаче', size_hint=[.35, .05], on_press=self.not_new_task))
self.root.add_widget(anchor_for_button2)
def not_new_task(self, *args):
if self.i==0:
self.label.text=self.list_of_tasks[9]
self.i=9
else:
self.label.text=self.list_of_tasks[self.i-1]
self.i-=1
self.ii = str(self.iii)
self.label_0_10.text = self.ii + '/10'
self.root.clear_widgets()
self.root.add_widget(self.label)
self.root.add_widget(self.label_0_10)
self.root.add_widget(Button(text='Принять ответ', pos=(200, 100), size_hint=(.5, .15), on_press=self.random_answer))
anchor_for_button = AnchorLayout(anchor_x='right', anchor_y='bottom')
anchor_for_button.add_widget(Button(text='Перейти к следующей задаче>', size_hint=[.35, .05], on_press=self.new_task))
self.root.add_widget(anchor_for_button)
anchor_for_button2 = AnchorLayout(anchor_x='left', anchor_y='bottom')
anchor_for_button2.add_widget(Button(text='<Перейти к предыдущей задаче', size_hint=[.35, .05], on_press=self.not_new_task))
self.root.add_widget(anchor_for_button2)
def random_answer(self,*args):
random_choice=random.choice(self.answers)
self.answer_label = Label(text=random_choice)
if self.list_of_tasks[self.i] in self.completed_tasks:
self.submit.disabled=True
else:
print(self.list_of_tasks[self.i])
print(self.completed_tasks)
self.submit.disabled=False
if random_choice=='Верный ответ!':
self.iii+=1
self.completed_tasks.append(self.list_of_tasks[self.i])
else:
self.completed_tasks.append(self.list_of_tasks[self.i])
self.root.add_widget(self.answer_label)
def build(self):
fl=FloatLayout(size=(300,300))
anchor_for_button=AnchorLayout(anchor_x='right', anchor_y='bottom')
anchor_for_button2=AnchorLayout(anchor_x='left', anchor_y='bottom')
label=Label(text='Задание №1: составьте структурную формулу бутена ',pos=(0,200))
label_0_10=Label(text=self.ii+'/10',pos=(300,250))
submit=Button(text='Принять ответ',pos=(200,100),size_hint=(.5,.15),on_press=self.random_answer)
fl.add_widget(self.label)
fl.add_widget(submit)
anchor_for_button.add_widget(Button(text='Перейти к следующей задаче>',size_hint=[.35,.05],on_press=self.new_task))
anchor_for_button2.add_widget(Button(text='<Перейти к предыдущей задаче',size_hint=[.35,.05],on_press=self.not_new_task))
fl.add_widget(label_0_10)
fl.add_widget(anchor_for_button)
fl.add_widget(anchor_for_button2)
return fl
if __name__=="__main__":
MyApp().run()
here is the code(python with kivy) I am a new one in kivy and don't know everything about it. I need to block submit button because I had overlay of inscriptions. All of imports in code. I don't have any errors in a console.
Again, I don't have a good knowledge about kivy and I just tried to do my best.
You are creating two submit
buttons. I believe the one you want is the one that you create in the build()
method. So, in your build()
method, replace the lines that reference submit
to use self.submit
instead:
self.submit=Button(text='Принять ответ',pos=(200,100),size_hint=(.5,.15),on_press=self.random_answer)
fl.add_widget(self.submit)
And the earlier line that creates a submit
button can be eliminated.