带有单独的 kivy 文件的 Kivy 相机
Kivy Camera with separated kivy file
我正在构建一个应用程序,它将使用 kivy 相机拍摄文本照片并通过 OCR 运行它。当我通过 python 和 kivy 文件构建时,我不知道如何将它们分成不同的文件以继续应用程序进程。
我从 CodersHubb 那里得到了这段代码,它可以工作,但我想用 Kivy 语言将它分解,这样我就可以在应用程序中添加屏幕。
from kivy.app import App
from kivy.uix.camera import Camera
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.core.window import Window
Window.size = (500, 550)
class cameraApp(App):
def build(self):
global cam
cam = Camera()
btn = Button(text="Capture Total")
btn.size_hint = (.1, .1)
btn.font_size = 35
btn.background_color = 'blue'
btn.bind(on_press = self.capture_image)
layout = GridLayout(rows=2, cols=1)
layout.add_widget(cam)
layout.add_widget(btn)
return layout
def capture_image(self, *args):
global cam
cam.export_to_png('image.png')
print('Image captured and saved in current working directory')
if __name__ == '__main__':
cameraApp().run()
你只是想把所有的东西都写在一个 *.kv 文件里?
试试这个:
*.kv 文件:
GridLayout:
rows:2
cols:1
Camera:
id:camera
Button:
text:"Capture Total"
size_hint: (.1,.1)
font_size:35
background_color:"blue"
on_press:app.capture_image
main.py 文件:
from kivy.app import App
from kivy.lang.builder import Builder
from kivy.core.window import Window
Window.size = (500, 550)
class cameraApp(App):
def build(self):
self.root = Builder.load_file("MY_KV.kv")
return self.root
def capture_image(self, *args):
cam = self.root.ids.camera
cam.export_to_png('image.png')
print('Image captured and saved in current working directory')
if __name__ == '__main__':
cameraApp().run()
不要忘记将 build
函数中的文件名更改为您的 kv 文件
我正在构建一个应用程序,它将使用 kivy 相机拍摄文本照片并通过 OCR 运行它。当我通过 python 和 kivy 文件构建时,我不知道如何将它们分成不同的文件以继续应用程序进程。
我从 CodersHubb 那里得到了这段代码,它可以工作,但我想用 Kivy 语言将它分解,这样我就可以在应用程序中添加屏幕。
from kivy.app import App
from kivy.uix.camera import Camera
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.core.window import Window
Window.size = (500, 550)
class cameraApp(App):
def build(self):
global cam
cam = Camera()
btn = Button(text="Capture Total")
btn.size_hint = (.1, .1)
btn.font_size = 35
btn.background_color = 'blue'
btn.bind(on_press = self.capture_image)
layout = GridLayout(rows=2, cols=1)
layout.add_widget(cam)
layout.add_widget(btn)
return layout
def capture_image(self, *args):
global cam
cam.export_to_png('image.png')
print('Image captured and saved in current working directory')
if __name__ == '__main__':
cameraApp().run()
你只是想把所有的东西都写在一个 *.kv 文件里? 试试这个: *.kv 文件:
GridLayout:
rows:2
cols:1
Camera:
id:camera
Button:
text:"Capture Total"
size_hint: (.1,.1)
font_size:35
background_color:"blue"
on_press:app.capture_image
main.py 文件:
from kivy.app import App
from kivy.lang.builder import Builder
from kivy.core.window import Window
Window.size = (500, 550)
class cameraApp(App):
def build(self):
self.root = Builder.load_file("MY_KV.kv")
return self.root
def capture_image(self, *args):
cam = self.root.ids.camera
cam.export_to_png('image.png')
print('Image captured and saved in current working directory')
if __name__ == '__main__':
cameraApp().run()
不要忘记将 build
函数中的文件名更改为您的 kv 文件