Python 如何在Kivy中关闭屏幕而不中断程序

Python 如何在Kivy中关闭屏幕而不中断程序,python,screen,kivy,Python,Screen,Kivy,我是一个编程初学者,已经求助于以前的论坛,该论坛为简单问题提供了帮助。 我目前正在寻找一种在不中断程序的情况下关闭屏幕的方法,我正在使用“线程”在程序处于循环中时继续执行命令 主要 KV文件 #:import random random.random <Display>: orientation: 'vertical' myslider: slider canvas: Color: rgb: 1, 1, 1

我是一个编程初学者,已经求助于以前的论坛,该论坛为简单问题提供了帮助。 我目前正在寻找一种在不中断程序的情况下关闭屏幕的方法,我正在使用“线程”在程序处于循环中时继续执行命令

主要

KV文件

#: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()
#:导入random.random
:
方向:“垂直”
迈斯里德:滑块
画布:
颜色:
rgb:1,1,1
矩形:
资料来源:“data/images/background.jpg”
大小:self.size
盒子布局:
填充:10
间距:10
大小提示:1,无
位置提示:{'top':1}
身高:44
图片:
大小提示:无,无
尺码:24,24
资料来源:“data/logo/kivy-icon-24.png”
标签:
身高:24
文本大小:self.size
颜色:(1,1,1,8)
文字:“Kivy 1.9.0。”
valign:“中间”
网格布局:
科尔斯:2
标签:
text:“请输入\n居住人数?”
黑体字:对
font\u name:'data/fonts/DejaVuSans.ttf'
字体大小:22
哈利恩:“中心”
滑块:
id:滑块
最低:0.0
最高:15.0
数值:1.0
步骤:1.0
方向:“水平”
宽度:“38dp”
标签
文本:“”
标签
文本:“{}”。格式(slider.value)
哈利恩:“中心”
valign:“顶级”
黑体字:对
文本大小:self.size
字号:18
按钮:
文本:“输入”
尺寸提示:无
高度:'50sp'
发布时:root.get\u number()

我离开了remove_screen函数,因为这是我在研究中发现的。但不是工作

你想做一个普通的kivy程序吗?如果是这样,不要搞线程,只需运行myApp().run(),并以正常的方式使用事件绑定、属性等来执行所有操作。事实上,我想要的是一个具有就绪方法和控制器的程序,线程仅使用测试创建的方法是否正常工作。抱歉说不清楚。你是想做一个普通的kivy程序吗?如果是这样,不要搞线程,只需运行myApp().run(),并以正常的方式使用事件绑定、属性等来执行所有操作。事实上,我想要的是一个具有就绪方法和控制器的程序,线程仅使用测试创建的方法是否正常工作。抱歉说不清楚。
#: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()