python:kivy应用程序未关闭

Posted

技术标签:

【中文标题】python:kivy应用程序未关闭【英文标题】:python: kivy app not closing 【发布时间】:2016-08-28 00:26:38 【问题描述】:

我的 kivy 简单的 hello world 应用程序没有关闭我正在使用树莓派 B,但我无法关闭它我必须拔下树莓派 5v 适配器才能关闭它

我正在使用 rasbian jessie 这是非常简单的代码

import kivy
from kivy.app import App
from kivy.uix.label import Label

class mamdouh(App):
    def build(self):
        return Label(text='mamdouh')

if __name__=='__main__':
    mamdouh().run()

【问题讨论】:

我认为这个想法是你应该有一些 ui 元素,当点击它时会调用你的应用程序对象的 stop 方法。您可以做的是将您的应用程序分配给实际变量,例如app = mamdouh() 然后app.run()。然后添加一个Button,点击后会分配一个函数。在该函数中调用app.close(),ti 将退出。 【参考方案1】:

我想在评论中说的是。您需要采取一些措施来导致退出,否则run 方法将无限期地循环运行。

如果您现在点击标记为“paul”的Button,它将退出。

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button


class mamdouh(App):

    def build(self):
        lbl = Label(text='paul')
        btn = Button(text='mamdouh')
        btn.bind(on_press=lambda b: app.stop())

        lbl.add_widget(btn)

        return lbl

if __name__ == '__main__':

    app = mamdouh()
    app.run()

我对 kivy 一无所知,但我可以看到这应该让你退出,你是否想要在你的应用程序中使用 Button 是另一个问题。

杀死它并避免重新启动的另一种方法是简单地返回到启动应用程序的提示符并执行 CTRL + C。不过,这仅适用于提示,而不适用于应用程序窗口本身。

【讨论】:

没有全屏打开应用程序,我尝试了所有的键盘来关闭它,但它没有关闭 this 帖子向您展示了如何接收键盘事件。如果您单击带有文本 paul 的按钮,我的示例应该退出。 它可以工作,但是有个小问题,就是我点击按钮后它不退出,但是当我按alt+F4它退出但为什么它不直接退出跨度> @mamdouhabdelfatah 好吧。您如何启动应用程序? 从python2.7 ide我按f5

以上是关于python:kivy应用程序未关闭的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Kivy 与我的计算机通信? [关闭]

使用 kivy 和 python 返回屏幕管理器时未设置焦点

使用 cmd 安装 Kivy 会导致“错误:依赖关系......未解决”[关闭]

Kivy--Plyer--Android--在应用未运行时发送通知

尝试编译后,Python/Kivy 应用程序不会启动

Kivy应用程序中的图像在填满内存后不显示(显示黑框),未释放