Tạo các GUI đơn giản Với Raspberry Pi Sử dụng EasyGUI

Thêm giao diện người dùng đồ họa (GUI) vào dự án Raspberry Pi của bạn là một cách tuyệt vời để bao gồm màn hình nhập dữ liệu, nút trên màn hình để điều khiển hoặc thậm chí chỉ là cách thông minh hơn để hiển thị các bài đọc từ các thành phần như cảm biến.

01 trên 10

Tạo một giao diện cho dự án của bạn

EasyGUI là một dự án nhanh chóng và đơn giản để thử vào cuối tuần này. Richard Saville

Có một số phương pháp GUI khác nhau có sẵn cho Raspberry Pi, tuy nhiên, hầu hết có một đường cong học tập dốc.

Giao diện Tkinter Python có thể là tùy chọn mặc định 'đi tới' cho hầu hết, tuy nhiên, người mới bắt đầu có thể đấu tranh với sự phức tạp của nó. Tương tự, thư viện PyGame cung cấp các tùy chọn để tạo các giao diện ấn tượng nhưng có thể dư thừa các yêu cầu.

Nếu bạn đang tìm kiếm một giao diện đơn giản và nhanh chóng cho dự án của bạn, EasyGUI có thể là câu trả lời. Những gì nó thiếu trong vẻ đẹp đồ họa nó nhiều hơn làm cho trong đơn giản của nó và dễ sử dụng.

Bài viết này sẽ giới thiệu cho bạn thư viện, bao gồm một số tùy chọn hữu ích nhất mà chúng tôi đã tìm thấy.

02 trên 10

Tải xuống và nhập EasyGUI

Cài đặt EasyGUI rất đơn giản với phương pháp 'apt-get install'. Richard Saville

Đối với bài viết này, chúng tôi đang sử dụng hệ điều hành Raspbian chuẩn có sẵn ở đây.

Cài đặt thư viện sẽ là một quá trình quen thuộc với hầu hết, bằng cách sử dụng phương pháp 'apt-get install'. Bạn sẽ cần một kết nối internet trên Raspberry Pi của bạn, bằng cách sử dụng kết nối Ethernet hoặc WiFi có dây.

Mở cửa sổ dòng lệnh (biểu tượng màn hình màu đen trên thanh tác vụ của Pi) và nhập lệnh sau:

apt-get cài đặt python-easygui

Lệnh này sẽ tải xuống thư viện và cài đặt nó cho bạn, và đó là tất cả các thiết lập bạn cần làm.

03 trên 10

Nhập EasyGUI

Việc nhập EasyGUI chỉ mất một dòng. Richard Saville

EasyGUI cần được nhập vào tập lệnh trước khi bạn có thể sử dụng các chức năng của nó. Điều này đạt được bằng cách nhập một dòng ở đầu tập lệnh của bạn và giống nhau bất kể tùy chọn giao diện EasyGUI nào bạn sử dụng.

Tạo một tập lệnh mới bằng cách nhập lệnh sau vào cửa sổ đầu cuối của bạn:

sudo nano easygui.py

Một màn hình trống sẽ xuất hiện - đây là tệp rỗng của bạn (nano chỉ đơn giản là tên của một trình soạn thảo văn bản). Để nhập EasyGUI vào tập lệnh của bạn, hãy nhập dòng sau:

từ nhập easygui *

Chúng tôi sử dụng phiên bản nhập cụ thể này để làm cho việc mã hóa dễ dàng hơn sau này. Ví dụ: khi nhập eway này, thay vì phải viết 'easygui.msgbox', chúng tôi có thể chỉ cần sử dụng 'msgbox'.

Bây giờ chúng ta hãy xem xét một số tùy chọn giao diện chính trong EasyGUI.

04 trên 10

Hộp thông báo cơ bản

Hộp thông điệp đơn giản là một cách tuyệt vời để bắt đầu với EasyGUI. Richard Saville

Hộp thư này, ở dạng đơn giản nhất, cung cấp cho người dùng một dòng văn bản và một nút để nhấp. Dưới đây là ví dụ để thử - nhập dòng sau sau dòng nhập của bạn và lưu bằng cách sử dụng Ctrl + X:

msgbox ("Cool box huh?", "Tôi là Message Box")

Để chạy tập lệnh, sử dụng lệnh sau:

sudo python easygui.py

Bạn sẽ thấy một hộp thông báo xuất hiện, với 'Tôi là một Hộp thư' được viết ở thanh trên cùng và 'Hộp mát mẻ huh?' phía trên nút.

05 trên 10

Tiếp tục hoặc hủy hộp

Hộp Tiếp tục / Hủy có thể thêm xác nhận cho các dự án của bạn. Richard Saville

Đôi khi bạn sẽ cần người dùng xác nhận một hành động hoặc chọn có tiếp tục hay không. Hộp 'ccbox' cung cấp cùng một dòng văn bản như hộp thông báo cơ bản ở trên, nhưng cung cấp 2 nút - 'Tiếp tục' và 'Hủy'.

Dưới đây là một ví dụ của một trong sử dụng, với các nút tiếp tục và hủy bỏ in đến thiết bị đầu cuối. Bạn có thể thay đổi hành động sau mỗi lần nhấn nút để làm bất cứ điều gì bạn thích:

từ easygui import * import time msg = "Bạn có muốn tiếp tục không?" title = "Tiếp tục?" nếu ccbox (msg, title): # hiển thị hộp thoại Tiếp tục / Hủy bỏ "Người dùng đã chọn tiếp tục" # Thêm các lệnh khác ở đây: # người dùng đã chọn Hủy bỏ in "Người dùng hủy" # Thêm các lệnh khác tại đây

06 trên 10

Hộp nút tùy chỉnh

'Buttonbox' cho phép bạn thực hiện các tùy chọn nút tùy chỉnh. Richard Savlle

Nếu các tùy chọn hộp dựng sẵn không hoàn toàn cung cấp cho bạn những gì bạn cần, bạn có thể tạo hộp nút tùy chỉnh bằng tính năng 'hộp nút'.

Điều này là tuyệt vời nếu bạn có nhiều tùy chọn cần che phủ, hoặc có thể đang kiểm soát một số đèn LED hoặc các thành phần khác với giao diện người dùng.

Dưới đây là ví dụ chọn nước sốt cho đơn hàng:

từ easygui import * import time msg = "Bạn muốn loại nước sốt nào?" choice = ["Nhẹ", "Hot", "Extra Hot"] reply = buttonbox (msg, choice = choice) nếu reply == "Mild": in trả lời nếu reply == "Hot": in trả lời nếu reply == "Extra Hot": trả lời in

07 trên 10

Hộp lựa chọn

Hộp Choice là lựa chọn tuyệt vời cho danh sách các mục dài hơn. Richard Saville

Các nút là rất tốt, nhưng đối với danh sách dài các tùy chọn, một 'hộp lựa chọn' có ý nghĩa rất nhiều. Thử lắp 10 nút trong một hộp và bạn sẽ sớm đồng ý!

Các hộp này liệt kê các tùy chọn có sẵn trong các hàng một cái khác, với một hộp 'OK' và 'Hủy' sang một bên. Chúng hợp lý thông minh, sắp xếp các tùy chọn theo thứ tự bảng chữ cái và cũng cho phép bạn nhấn một phím để chuyển đến tùy chọn đầu tiên của chữ cái đó.

Dưới đây là một ví dụ hiển thị mười tên mà bạn có thể thấy đã được sắp xếp trong ảnh chụp màn hình.

từ easygui nhập * thời gian nhập khẩu msg = "Ai để những con chó ra?" title = "Missing Dogs" choice = ["Alex", "Mèo", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] lựa chọn = choicebox (msg, tiêu đề, lựa chọn)

08 trên 10

Hộp nhập dữ liệu

'Multenterbox' cho phép bạn thu thập dữ liệu từ người dùng. Richard Saville

Biểu mẫu là cách tuyệt vời để nắm bắt dữ liệu cho dự án của bạn và EasyGUI có tùy chọn 'multenterbox' cho phép bạn hiển thị các trường được gắn nhãn để thu thập thông tin.

Một lần nữa nó là một trường hợp ghi nhãn các lĩnh vực và chỉ đơn giản là bắt đầu vào. Chúng tôi đã thực hiện một ví dụ dưới đây cho một hình thức đăng ký thành viên phòng tập thể dục rất đơn giản.

Có các tùy chọn để thêm tính năng xác thực và các tính năng nâng cao khác mà trang web EasyGUI bao gồm chi tiết.

từ easygui import * import time msg = "Thông tin thành viên" title = "Gym Formhip" fieldNames = ["First Name", "Họ", "Age", "Weight"] fieldValues ​​= [] # giá trị bắt đầu fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 trên 10

Thêm hình ảnh

Thêm hình ảnh vào hộp của bạn theo một cách hoàn toàn mới để sử dụng GUI. Richard Saville

Bạn có thể thêm hình ảnh vào giao diện EasyGUI của bạn bằng cách bao gồm một số lượng rất nhỏ mã.

Lưu hình ảnh vào Raspberry Pi của bạn trong cùng thư mục với tập lệnh EasyGUI của bạn và ghi chú tên tệp và phần mở rộng (ví dụ: image1.png).

Hãy sử dụng hộp nút làm ví dụ:

từ easygui import * import time image = "RaspberryPi.jpg" msg = "Đây có phải là Raspberry Pi không?" choice = ["Yes", "No"] reply = buttonbox (msg, image = image, choice = choice) nếu reply == "Yes": in "Yes" else: in "Không"

10 trên 10

Các tính năng nâng cao khác

Bạn không thể thực hiện các hệ thống thanh toán bằng EasyGUI, nhưng bạn có thể giả vờ vui vẻ !. Richard Saville

Tuy nhiên, chúng tôi đã đề cập đến các tùy chọn EasyGUI cơ bản chính ở đây để giúp bạn bắt đầu, có nhiều tùy chọn hộp và ví dụ hơn tùy thuộc vào số lượng bạn muốn tìm hiểu và dự án của bạn yêu cầu gì.

Hộp mật khẩu, hộp mã, và thậm chí cả các hộp tập tin có sẵn để đặt tên một vài. Đó là một thư viện rất linh hoạt dễ dàng nhận trong vài phút, với một số khả năng kiểm soát phần cứng tuyệt vời.

Nếu bạn muốn tìm hiểu cách viết mã những thứ khác như Java, HTML hoặc nhiều hơn, dưới đây là các tài nguyên mã hóa trực tuyến tốt nhất hiện có.