Python 2.7 如何在kivy中管理多屏幕?

Python 2.7 如何在kivy中管理多屏幕?,python-2.7,kivy,python-tesseract,Python 2.7,Kivy,Python Tesseract,我正在使用kivy扫描卡。如何管理多个屏幕。我想先捕获卡,捕获的卡应该传递给tesseract from kivy.app import App from kivy.lang import Builder import time from kivy.uix.boxlayout import BoxLayout from kivy.uix.screenmanager import ScreenManager, Screen from PIL import Image, ImageEnhance,

我正在使用kivy扫描卡。如何管理多个屏幕。我想先捕获卡,捕获的卡应该传递给tesseract

from kivy.app import App
from kivy.lang import Builder
import time
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import ScreenManager, Screen
from PIL import Image, ImageEnhance, ImageFilter
import pytesseract
from kivy.uix.button import Button


Builder.load_string("""
<CameraClick>:
    orientation: 'vertical'
    Camera:
        id: camera
        resolution: (640, 480)
        play: False
    ToggleButton:
        text: 'Play'
        on_press: camera.play = not camera.play
        size_hint_y: None
        height: '48dp'
    Button:
        text: 'Capture'
        size_hint_y: None
        height: '48dp'
        on_press: root.capture()

<SettingsScreen>:
    BoxLayout:
        Button:
            text: 'My settings button'
        Button:
            text: 'Back to menu'
            on_press: root.manager.current = 'menu'
""")


class CameraClick(BoxLayout):
    def capture(self):
        '''
        Function to capture the images and give them the names
        according to their captured time and date.
        '''
        camera = self.ids['camera']
        timestr = time.strftime("%Y%m%d_%H%M%S")
        camera.export_to_png("reading.png".format(timestr))
        print("Captured")


class SettingsScreen(Screen):
    def card(self):
        im = Image.open(r"readimg.png")
        p = pytesseract.image_to_string(im, lang='eng', config='-psm 6')
        print p
        return Button(text=p)


# Create the screen manager
sm = ScreenManager()
sm.add_widget(CameraClick(name='menu'))
sm.add_widget(SettingsScreen(name='settings'))

class TestApp(App):

    def build(self):
        return sm

if __name__ == '__main__':
    TestApp().run()
从kivy.app导入应用
从kivy.lang导入生成器
导入时间
从kivy.uix.boxlayout导入boxlayout
从kivy.uix.screenmanager导入screenmanager,屏幕
从PIL导入图像、图像增强、图像过滤器
导入pytesseract
从kivy.uix.button导入按钮
生成器。加载\u字符串(“”)
:
方向:“垂直”
摄像机:
id:照相机
决议:(640480)
剧本:假
切换按钮:
文字:“播放”
按:camera.play=不按camera.play
尺寸提示:无
高度:“48dp”
按钮:
文本:“捕获”
尺寸提示:无
高度:“48dp”
on_press:root.capture()
:
盒子布局:
按钮:
文本:“我的设置按钮”
按钮:
文本:“返回菜单”
按:root.manager.current='菜单'
""")
类CameraClick(框布局):
def捕获(自我):
'''
函数捕获图像并为其命名
根据他们捕获的时间和日期。
'''
camera=self.ids['camera']
timestr=time.strftime(“%Y%m%d\u%H%m%S”)
camera.export_to_png(“reading.png.format(timestr))
打印(“捕获”)
类别设置屏幕(屏幕):
def卡(自):
im=Image.open(r“readimg.png”)
p=pytesseract.image_to_字符串(im,lang='eng',config='-psm 6')
打印p
返回按钮(text=p)
#创建屏幕管理器
sm=屏幕管理器()
sm.add_小部件(CameraClick(name='menu'))
sm.add_小部件(设置屏幕(name='settings'))
类TestApp(应用程序):
def生成(自):
返回sm
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
TestApp().run()
我是kivy的新手,我想知道如何管理多个屏幕。如何在另一个屏幕上显示来自tesseract的卡的内容