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

Hướng dẫn dùng python kivy 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 ứ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 phát triển để 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 chào đón những người mới đến và đủ linh hoạt cho những người chuyên nghiệp, thì việc khai thác tối đa nó thường sẽ cần một chút trợ giúp.

Điều đó có nghĩa là, không có nhiều thứ bạn có thể xây dựng với Python. Nếu bạn muốn tạo một trò chơi, bạn sẽ cần mô-đun Pygame. Nếu bạn dự định tạo một trang web, bạn sẽ cần sử dụng một trong những framework Python phổ biến, chẳng hạ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ã duy nhất để 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, bạn hãy tiếp tục sử dụng ngôn ngữ yêu thích mới của mình để xây dựng tất cả!

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

Đầu tiên cần 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 Python đã được cài đặt trên máy của bạn. 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:

Tiếp theo, bạn sẽ 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.

Tiếp theo, đi đến hướng dẫn được cung cấp tại Kivy.org. Điều này sẽ cung cấp cho bạn hướng dẫn chi tiết để thiết lập và vận hành mọi thứ.

Phiên bản ghi chú vách đá: đảm bảo rằng bạn có 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

Tiếp theo, 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).

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

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”. Tiếp theo, cài đặt các phụ thuộc bạn cần. Những thứ này chiếm một ít dung lượng, vì vậy 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, 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 tại Kivy.org để có hướng dẫn chi tiết hơn.

Khi bạn đã hoàn thành 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

Tại đâ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!

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

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

Lưu ý rằng bạn sẽ cần tạo môi trường ảo của mình mỗi khi bạn bắt đầu phát triển. 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 bạn chọn. Một lần nữa, bạn có thể tìm hiểu 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 điều này, bạn sẽ cần chuyển trở lại terminal / dòng lệnh, tìm tệp, sau đó khởi chạy nó. Tôi đã gọi Python_Kivy_Example.py của tôi.

Nếu mọi việc suôn sẻ, bạn sẽ được chào đón bằng câu “Xin chào Thế giới!” lên màn hình:

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

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

Hãy nhớ rằng: bạn cần 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 tối thiểu của Kivy.

Tiếp theo, chúng tôi đang 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ề một nhãn có nội dung “Hello World” (như truyền thống).

Cuối cùng, chúng tôi đang tạo đối tượng Hello World và sau đó chạy nó. Bùm! Ở đó 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 để cho bạn thấy cách Kivy hoạt động cho mục đích của 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, 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à đặt tên là HelloWorld. Tại đây, hãy thêm mã sau:

<label>:
	text: "Hello World"

Đảm bảo tệp này được lưu trong cùng một thư mục với tệp Python của bạn bằng cách sử dụng phần mở rộng “.kv”, sau đó 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 tất cả những gì chúng tôi đã làm là xóa nội dung của các dấu ngoặc 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, vì đây là cách Python biết để liên kết hai tệp này! Nhấn chạy, và bạn sẽ thấy rằng 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:

<label>:
	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 cần nhập “màu”.

from kivy.graphics import Color

Nếu chúng ta muốn xếp chồng nhiều widget vào một bố cục duy nhất, chúng ta cần 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ẽ sử dụng bố cục hộp, đây là một trong những tùy chọn đơn giản nhất.

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

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

Điều này chỉ đơn giản là sẽ 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 “verticle” hay “ngang”.

<BoxLayout>:
    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 cách sử dụ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 lần nhấn nút

Điều tiếp theo mà bất kỳ hướng dẫn Kivy Python tốt nào cũng 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 như vậy rất đơn giản bằng cách nhập “Nút” thay vì nhãn và hoán đổi mọi tham chiếu.

Nhưng chúng tôi sẽ không làm điều đó. Thay vào đó, để giữ mọi thứ đơ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:

<Controller>:
	BoxLayout: 
		orientation: 'vertical'

		Button:
			text: 'Button 1'
			on_press: root.button_pressed()

Ở đây, chúng tôi đã thêm hai tính năng mới được quan tâm: thẻ controller và on_press. Thẻ điều khiển là “tiện ích con 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 quan tâm khác là “on_press.” Điều này gọi một hàm mà chúng tôi đang 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 chế độ xem của chúng tôi. Trong khi đó, RootWidget có lớp riêng của nó, chứa một mã soạn sẵn nhỏ để khởi tạo chế độ xem, 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 từ 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:

<RootWidget>:
	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ị “Hello World!” trên nhãn được đặt ngay bên dưới.

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

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

Còn nhiều việc bạn có thể làm nhưng hy vọng rằ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 trên mạng, vì vậy hãy chọn một dự án dễ dàng và bắt đầu!

Nhưng đợi đã! Bạn có thể tự hỏi làm thế nào bạn gói tất cả những thứ này vào một tệp APK? Để làm điều đó, bạn sẽ cần sử dụng một công cụ bên ngoài khác có tên là Buildozer. Đó là một bài báo cho thời gian khác. Nhưng trong khi đó, 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 thấy, có một nhiều bạn có thể làm với Python khi bạn đã hiểu rõ về nó! Nếu bạn muốn trở nên chuyên nghiệp với ngôn ngữ tuyệt vời này, vậ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 đối với các khóa học Python hàng đầu và học chỉ với $ 40, qua hướng dẫn của chúng tôi 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, đừng bỏ lỡ đăng ký nhận bản tin hàng tháng bên dưới!