iOS App in Python with Kivy - Part 2: Architecture and Screens

preview_player
Показать описание
Part 2 of the Friendly Fitness iOS app in Python with Kivy tutorial

👇 LINKS AND INFO! 👇

In this video, I talk about the file structure I'll use for this app and show you the basics of getting a simple interface up and running in Kivy. I also set up two screens to show you how to transition between screens using a ScreenManager and referencing kv files from other kv files.

Thanks for watching!
Рекомендации по теме
Комментарии
Автор

why are these videos not getting thousands of views already, been learning kivy for a while and haven't seen a better hands on tutorial. thank you. wish you success in your journey.

zrichelieu
Автор

Very detail tutorial. I want to leave this comment as token of appreciation to keep the hard going on.

samz
Автор

Thats the first video that i'm commenting...
good job man, fast, simple and clean
keep it going!

marioshalamanov
Автор

This is really good. Your video is a wonderful resource for Kivy beginners. Definitely something I wish I had when starting! If you haven't done so already, consider adding the tutorial tags so that beginners can find this video too. Your print(app.root.ids) is also smart for debugging.

PetarLuketina
Автор

a great job, I like it. Kivy is new to me but I enjoyed watching your video :)

awaraamin
Автор

Cheers from Brazil, this serie is amazing, is more than just make tutorials from kivy site like some others youtubers that i see while look for kivy tutorials.


+ 1 subscriber

luizhenrique
Автор

Es un tutorial muy bueno, incluso para alguien que no sabe ingles es claro.

luiscarlospallaresascanio
Автор

I'm a bit surprised that you went for overriding the build method there at 1:43, since you named your class `MainApp` and your file `main.kv` the default behavior of kivy is to automatically load the kv file, so saying "you always have to do that", is a bit weird, i mean, you can definitely do it this way, it will work, but it's not strictly necessary.
little tip, at 9:33, `ids` is a `DictProprerty` which is basically a dictionnary, but has the convenient property that you can access the items through dot lookup, instead of the usual [] notation, so you could do instead of

These are minor points though, very good video overall, thanks for doing it :)

GabrielPettier
Автор

Hi Erik, I'm having a problem with the part Im using windos btw.

pilarninci
Автор

1- is it a native app or PWA or what?

2- What is the platform of development in this video? Is it git pod?

figueiro
Автор

hi can you tell me how you make a main.kv file?
when i press on new button to make a file there are some options to make txt file, python file, scratch file etc but not kv file. so can you tell me this how you made a kv file?

qaziapexgrammarschoolpakar
Автор

Which package to install so that it can support GUI

xiangshipin
Автор

which is better for buildozer?,
python2 or python 3?


what is reccomendation for user using windows or linux only?

Altohamy
Автор

Hi! I am using VS code and have a question regarding the gridlayout. With VS code i cant use the same Gridlayout formation as you do. Do you've any idea what i can do instead?

joar
Автор

File "kivy\_event.pyx", line 243, in
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

I get this error even with your code from repo. Do you know what does it mean? I'm a bit frustrated with that. I really want to finish this app.

Neteruss
Автор

How can i switch between a screen (a .kv file), and this, which isnt a .kv file:

class CameraScreen(MDApp):
def build(self):
layout =
self.image = Image()
self.label = MDLabel()


self.save_img_button = MDRaisedButton(
text="Capture",
pos_hint={'center_x': .5, 'center_y': .5},
size_hint=(None, None))


self.capture = cv2.VideoCapture(0)
Clock.schedule_interval(self.load_video, 1.0/30.0)
return layout

def load_video(self, *args):
ret, frame = self.capture.read()
# Frame initialize
self.image_frame = frame
buffer = cv2.flip(frame, 0).tostring()
texture = Texture.create(size=(frame.shape[1], frame.shape[0]), colorfmt='bgr')
texture.blit_buffer(buffer, colorfmt='bgr', bufferfmt='ubyte')
self.image.texture = texture

def take_picture(self, *args):
image_name = "img_TIMESTAMP.png"
img = cv2.cvtColor(self.image_frame, cv2.COLOR_BGR2GRAY)
img = cv2.GaussianBlur(img, (3, 3), 0)
img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
text_data = pytesseract.image_to_string(img, lang='eng', config="--psm 6")
self.label.text = text_data
#cv2.imshow("cv2 final image", img)
cv2.imwrite(image_name, self.image_frame)

iDabbl
Автор

im getting a ScreenManager only accepts screen widget error. any suggestions?

Tawkitoutti
Автор

I want source code please. getting error

ArchLight
welcome to shbcf.ru