python - how to close a Screen without interrupting the program in Kivy -


i beginner respect programming resorted forum received simple issues. looking way close screen without interrupting program, using "thread" continue executing commands while program in loop.

main

from kivy.app import app kivy.uix.screenmanager import screen kivy.properties import objectproperty kivy.core.audio import soundloader time import sleep import thread  class display(screen):     myslider = objectproperty(none)      def get_number(self):         occupancy = format(self.myslider.value)         print "value = ",occupancy  def display_screen():     thread.start_new_thread(myapp().run, ())   def remove_screen():     screen.disabled()  def ring():     sound = soundloader.load('ring.wav')     if sound:         sound.play()  class myapp(app):      def build(self):         return display()   if __name__ == '__main__':     ring()     sleep(2)     display_screen()     sleep(7)     remove_screen() 

kv file

#:import random random.random  <display>:     orientation: 'vertical'     myslider: slider     canvas:         color:             rgb: 1, 1, 1         rectangle:             source: 'data/images/background.jpg'             size: self.size      boxlayout:         padding: 10         spacing: 10         size_hint: 1, none         pos_hint: {'top': 1}         height: 44         image:             size_hint: none, none             size: 24, 24             source: 'data/logo/kivy-icon-24.png'         label:             height: 24             text_size: self.size             color: (1, 1, 1, .8)             text: 'kivy 1.9.0.'             valign: 'middle'      gridlayout:         cols: 2         label:             text: 'please enter \nthe number of occupants?'             bold: true             font_name: 'data/fonts/dejavusans.ttf'             font_size: 22             halign: 'center'          slider:             id: slider             min: 0.0             max: 15.0             value: 1.0             step: 1.0             orientation: "horizontal"             width: "38dp"          label             text: ''          label             text: '{}'.format(slider.value)             halign: 'center'             valign: 'top'             bold: true             text_size: self.size             font_size: 18      button:         text: 'enter'         size_hint_y: none         height: '50sp'         on_release: root.get_number() 

i left remove_screen function because found far in research. not work.


Comments