Hướng dẫn dùng kivy python python

Trong hướng dẫn Kivy Python này, bạn sẽ học cách sử dụng Kivy để phát triển các ứng dụng Python. Cuối cùng, bạn sẽ hiểu cách bắt đầu xây dựng các ứng dụng đa nền tảng cho Android, iOS và Windows bằng Python.

Python là một ngôn ngữ lập trình mạnh mẽ, linh hoạt và thân thiện với người mới bắt đầu, đã nhanh chóng trở thành một trong những lựa chọn phổ biến nhất cho các nhà phát triển. Nhưng trong khi Python đang mời gọi người mới và đủ linh hoạt cho các chuyên gia, thường sẽ cần một chút trợ giúp để tận dụng tối đa nó.

Cũng đọc: Cách tạo trò chơi bằng Python: Giới thiệu về Pygame

Điều đó có nghĩa là, không có nhiều thứ bạn có thể xây dựng với Python ngoài hộp. Nếu bạn muốn tạo một trò chơi, bạn cần có mô-đun Pygame. Nếu bạn dự định tạo một trang web, bạn nên sử dụng một trong những framework Python phổ biến như Flask.

Nhưng nếu bạn muốn tạo một ứng dụng Android thì sao? Trong trường hợp đó bạn cần Kivy!

Kivy là một thư viện Python hỗ trợ phát triển đa nền tảng. Điều đó có nghĩa là bạn có thể sử dụng một cơ sở mã để tạo các ứng dụng Android, iOS và thậm chí cả Windows, Linux và MacOS. Kivy cung cấp các yếu tố giao diện người dùng linh hoạt, hiện đại và tất nhiên cho phép bạn tiếp tục sử dụng ngôn ngữ yêu thích mới của mình để xây dựng mọi thứ!

Vậy làm thế nào để bạn bắt đầu? Hãy cùng tìm hiểu trong bài hướng dẫn Kivy Python này.

Hướng dẫn Kivy Python: Thiết lập

Trước tiên, bạn phải tải xuống và cài đặt Kivy. May mắn thay, bạn có thể làm điều này thông qua pip. Vì vậy, trước tiên hãy đảm bảo rằng bạn đã cài đặt Python trên máy tính của mình. Nếu không, bạn có thể khắc phục bằng cách làm theo hướng dẫn hữu ích của chúng tôi:

Cài đặt Python và bắt đầu viết mã trên Windows, Mac hoặc Linux

Tiếp theo, bạn cần mở dấu nhắc lệnh trong thư mục Python của mình hoặc thêm Python vào PATH nếu bạn đang sử dụng Windows. Hoặc bạn có thể sử dụng thiết bị đầu cuối.

Sau đó, đi tới hướng dẫn trên Kivy.org. Điều này sẽ cung cấp cho bạn một hướng dẫn chi tiết để bắt đầu mọi thứ.

Phiên bản Cliff Notes: đảm bảo bạn có phiên bản mới nhất pip, wheel và virtualenv bằng cách chạy lệnh sau tại dòng lệnh:

python -m pip install --upgrade pip wheel setuptools virtualenv

Sau đó, tạo một môi trường ảo cho dự án Kivy của bạn:

python -m virtualenv kivy_venv

kivy_venvScriptsactivate

[Hoặc nguồn kivy_venv / Scripts / kích hoạt nếu ở trong một thiết bị đầu cuối bash].

Tín dụng: Adam Sinicki / Android Authority

Nếu cách này không hiệu quả, hãy thử sử dụng “py” thay vì “python”. Sau đó cài đặt các phụ thuộc bạn cần. Những thứ này chiếm một số không gian nên nếu bạn muốn:

python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

python -m pip install kivy_deps.gstreamer==0.1.*

python -m pip install kivy_deps.angle==0.1.* [If you have Python 3.5+]

Cuối cùng, hãy tự cài đặt Kivy và các ví dụ:

python -m pip install kivy==1.11.1

python -m pip install kivy_examples==1.11.1

Một lần nữa, bạn có thể làm theo hướng dẫn trên Kivy.org để có hướng dẫn chi tiết hơn.

Nếu bạn đã làm tất cả những điều này, tại sao không xem một trong các ví dụ?

python kivy_venvsharekivy-examplesdemoshowcasemain.py

Ở đây bạn sẽ tìm thấy nhiều loại bố cục nút khác nhau và có thể tương tác với chúng; cái nhìn sâu sắc về các loại giao diện người dùng mà bạn có thể tạo bằng phát triển ứng dụng Python thông qua Kivy!

Tín dụng: Adam Sinicki / Android Authority

Hãy nhớ rằng mỗi khi bạn bắt đầu phát triển, bạn sẽ cần tạo môi trường ảo của mình. Vì vậy, đừng đóng cửa sổ CMD đó ngay lập tức!

Ứng dụng đầu tiên của bạn

Để bắt đầu, hãy tải Kivy IDE / trình soạn thảo mà bạn chọn. Một lần nữa, bạn có thể đọc cách thực hiện việc này trong bài viết trước của chúng tôi. Tôi sẽ sử dụng Visual Studio.

Bây giờ hãy nhập mã sau:

import kivy
kivy.require['1.9.0']

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

class HelloWorld[App]:
    
    def build[self]:
        return Label[text="Hello Wolrd"]

helloWorld = HelloWorld[]

helloWorld.run[]

Để chạy nó, bạn cần quay lại terminal / command line, định vị tệp và sau đó chạy nó. Tôi đã đặt tên là Python_Kivy_Example.py.

Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ được chào đón bằng câu “Hello world!” trên màn hình:

Tín dụng: Adam Sinicki / Android Authority

Hãy nhớ rằng, bạn phải sử dụng môi trường Kivy mà bạn đã thiết lập để điều này hoạt động. nếu bạn Trong tập lệnh này, trước tiên, chúng tôi nhập Kivy và các phần tử riêng lẻ mà chúng tôi cần [một ứng dụng và một nhãn]. Kivy.require [] là những gì chúng tôi sử dụng để nhắm mục tiêu phiên bản Kivy tối thiểu.

Tiếp theo, chúng tôi tạo một lớp có tên là Chào thế giới, với chức năng được gọi là xây dựng, sẽ trả về nhãn có nội dung “Hello World” [như truyền thống].

Cuối cùng, chúng tôi tạo đối tượng Hello World của chúng tôi và sau đó chạy nó. Cây! Ở đó bạn có ứng dụng Kivy Python đầu tiên của mình!

Nhiều điều chúng ta có thể làm

Đó là một dự án giới thiệu rất đơn giản để chỉ cho bạn cách Kivy hoạt động cho hướng dẫn Kivy Python này.

Vậy, cậu bé xấu này có thể làm gì khác?

Một điều thông minh mà chúng ta có thể làm với Kivy là tách lớp giao diện người dùng khỏi mã – giống như chúng ta làm trong Android Studio [nơi giao diện người dùng được xử lý bởi XML trong các tệp riêng biệt]. Chúng tôi sẽ làm điều này bằng cách tạo các tệp Kivy riêng biệt mà sau đó có thể hiển thị các nút và những thứ tương tự.

Vì vậy, hãy tạo một tệp Kivy mới và gọi nó là HelloWorld. Thêm mã sau vào đây:

:
	text: "Hello World"

Đảm bảo tệp này được lưu trong cùng thư mục với tệp Python của bạn có phần mở rộng là “.kv” và chỉnh sửa mã gốc một chút:

import kivy
kivy.require['1.9.0']

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

class HelloWorld[App]:
    
    def build[self]:
        return Label[]

helloWorld = HelloWorld[]

helloWorld.run[]

Bạn sẽ nhận thấy rằng chúng tôi chỉ xóa nội dung của các dấu ngoặc đơn sau NhãnĐiều quan trọng là chúng ta phải đặt cùng tên cho lớp và tệp Kivy bởi vì đây là cách Python biết cách kết hợp cả hai! Nhấn chạy, và bạn sẽ khám phá ra mọi thứ trông giống như trước đây!

Bây giờ bạn có thể làm những việc như thay đổi màu sắc và kích thước của nhãn:

:
	text: "Hello World"
	pos: 0, 100
	size: 100, 50
	color: .8,.9,0,1
	font_size: 32

Lưu ý rằng để điều này hoạt động, bạn cũng phải nhập “màu”.

from kivy.graphics import Color

Nếu chúng ta muốn xếp chồng nhiều widget trong một bố cục, chúng ta sẽ phải thực hiện một vài thay đổi nhỏ. Thay vì trả về một nhãn, chúng tôi sẽ trả về một bố cục. Chúng tôi sử dụng bố cục hộp, đây là một trong những tùy chọn đơn giản nhất.

Tín dụng: Adam Sinicki / Android Authority

Điều này sẽ dễ dàng xếp chồng các widget của bạn từ trên xuống dưới hoặc từ trái sang phải tùy thuộc vào việc bạn đặt nó thành ‘dọc’ hay ‘ngang’.

:
    orientation: 'vertical'
    Label:
        text: 'Label 1'
    Label:
        text: 'Label 2'
    Label:
        text: 'Label 3'

Sau đó, bạn có thể hiển thị điều này bằng mã sau:

import kivy
kivy.require['1.9.0']

from kivy.app import App
from kivy.uix.button import Label
from kivy.uix.boxlayout import BoxLayout

class HelloWorld[App]:
    def build[self]:
      return BoxLayout[]

helloWorld = HelloWorld[]
helloWorld.run[]

Xử lý các nút bấm

Điều tiếp theo mà bất kỳ hướng dẫn Kivy Python tốt nào cần là cách xử lý các sự kiện và logic. Nếu chúng ta muốn hoán đổi các nhãn đó cho các nút, chúng ta có thể làm điều đó rất dễ dàng bằng cách nhập “Nút” thay vì nhãn và hoán đổi từng tham chiếu.

Nhưng chúng tôi sẽ không làm điều đó. Thay vào đó, để đơn giản, chúng tôi sẽ chỉ sử dụng một nút. Nút này sẽ in “Hello World” ra CMD / terminal khi được nhấp vào.

Tệp KV của bạn sẽ trông như thế này:

:
	BoxLayout: 
		orientation: 'vertical'

		Button:
			text: 'Button 1'
			on_press: root.button_pressed[]

Ở đây chúng tôi đã thêm hai chức năng thú vị mới: thẻ điều khiển và on_press. Thẻ điều khiển là “tiện ích gốc” của chúng tôi. Tất cả các widget khác trong tệp đều là “con” của root đó. Điểm thú vị khác là ‘on_press’. Điều này gọi một chức năng mà chúng tôi thêm vào mã.

Mã đó trông như thế này:

import kivy
kivy.require['1.9.0']

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


class RootWidget[BoxLayout]:
    def __init__[self]:
        super[RootWidget, self].__init__[]
        
    def button_pressed[self]:
        print["Hello there"]
    
class HelloWorld[App]:

    def build[self]:
        return RootWidget[]


helloWorld = HelloWorld[]

helloWorld.run[]

Như bạn có thể thấy, chúng tôi hiện đang trả lại “RootWidget” làm tầm nhìn của chúng tôi. Trong khi đó, RootWidget có lớp riêng của nó, chứa một mã tiêu chuẩn nhỏ để khởi tạo màn hình cùng với button_pressed chức năng. Đây là nơi chúng tôi

Chúng tôi thậm chí có thể thực hiện hướng dẫn Kivy Python này thêm một bước nữa bằng cách chỉ cho bạn cách thay đổi bố cục của mã. Để làm điều này, chúng ta chỉ cần tạo một nhãn cho một trong các chế độ xem của chúng ta để chúng ta có thể tham khảo nó sau này.

Tệp Kivy mới:

import kivy
kivy.require['1.9.0']

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


class RootWidget[BoxLayout]:
    def __init__[self]:
        super[RootWidget, self].__init__[]
        
    def button_pressed[self]:
        self.lbl.text = "Hello World!"

    
class HelloWorld[App]:

    def build[self]:
        return RootWidget[]


helloWorld = HelloWorld[]

helloWorld.run[]

Tệp Python mới:

:
	lbl: my_label

	BoxLayout: 
		orientation: 'vertical'

		Button:
			text: 'Button 1'
			on_press: root.button_pressed[]

		Label:
			id: my_label
			text: 'Waiting...'

Nhấp vào nút bây giờ sẽ hiển thị “Xin chào thế giới!” trên nhãn ngay bên dưới.

Tín dụng: Adam Sinicki / Android Authority

Bạn có thể làm được nhiều việc hơn nữa, nhưng hy vọng hướng dẫn Python Kivy này đã mang lại cho bạn một nền tảng tốt để xây dựng. Có rất nhiều tài nguyên và hướng dẫn có sẵn, vì vậy hãy chọn một dự án đơn giản và thử nó!

Cũng đọc: Cách xác định một hàm trong Python

Nhưng đợi đã! Có thể bạn đang tự hỏi làm cách nào để gói tất cả những điều này trong một tệp APK? Để làm điều đó, bạn phải sử dụng một công cụ bên thứ ba khác có tên là Buildozer. Đó là một bài báo cho thời gian khác. Nhưng trong thời gian chờ đợi, bạn có thể làm theo tài liệu: Hướng dẫn lập trình> Tạo gói cho Android.

Như bạn có thể thấy, có một rất nhiều bạn có thể làm điều đó với Python khi bạn hiểu rõ nó! Nếu bạn muốn trở thành một chuyên gia với ngôn ngữ tuyệt vời này, tại sao không tham gia một khóa học trực tuyến? Bạn có thể tìm thấy một số chiết khấu đáng kinh ngạc cho các khóa học Python tốt nhất và học chỉ với 40 đô la, trong hướng dẫn của chúng tôi về các khóa học Python trực tuyến tốt nhất.

Để biết thêm tin tức, tính năng và hướng dẫn dành cho nhà phát triển từ Android Authority, hãy đăng ký nhận bản tin hàng tháng bên dưới!

Chủ Đề