EasyGUI를 사용하여 나무 딸기 파이로 간단한 GUI 만들기

Razberry Pi 프로젝트에 그래픽 사용자 인터페이스 (GUI)를 추가하면 데이터 입력 용 화면, 컨트롤 용 화면 단추 또는 센서와 같은 구성 요소의 판독 값을 표시하는 더 똑똑한 방법을 포함하는 훌륭한 방법입니다.

01 of 10

프로젝트를위한 인터페이스 만들기

EasyGUI는 이번 주말에 시험해 보는 빠르고 간단한 프로젝트입니다. 리차드 사 빌레

Raspberry Pi에는 여러 가지 GUI 방법이 있지만 대부분은 가파른 학습 곡선을 가지고 있습니다.

Tkinter Python 인터페이스는 대부분의 경우 'go to'옵션 일 수 있지만 초보자는 복잡성으로 인해 어려움을 겪을 수 있습니다. 마찬가지로, PyGame 라이브러리는 인상적인 인터페이스를 만들기위한 옵션을 제공하지만 요구 사항에 비해 과잉 일 수 있습니다.

프로젝트를위한 간단하고 빠른 인터페이스를 찾고 있다면 EasyGUI가 답이 될 수 있습니다. 그래픽적인 아름다움이 부족한 이유는 단순하고 사용하기 쉽다는 점입니다.

이 기사에서는 가장 유용한 옵션을 포함하여 라이브러리에 대해 소개합니다.

02 중 10

EasyGUI 다운로드 및 가져 오기

EasyGUI 설치는 'apt-get install'방법으로 간단합니다. 리차드 사 빌레

이 기사에서는 표준 Raspbian 운영 체제를 사용하고 있습니다.

라이브러리 설치는 'apt-get install'방법을 사용하여 대부분 친숙한 프로세스가됩니다. 유선 이더넷 또는 WiFi 연결을 사용하여 Raspberry Pi에서 인터넷 연결이 필요합니다.

터미널 창 (Pi 작업 표시 줄의 검은 색 화면 아이콘)을 열고 다음 명령을 입력하십시오.

apt-get python-easygui 설치하기

이 명령은 라이브러리를 다운로드하여 설치하며, 필요한 모든 설정입니다.

03 / 10

EasyGUI 가져 오기

EasyGUI를 가져 오려면 한 줄만 있으면됩니다. 리차드 사 빌레

EasyGUI를 사용하기 전에 EasyGUI를 스크립트로 가져와야합니다. 이것은 스크립트 상단에 한 줄을 입력하여 이루어지며 사용하는 EasyGUI 인터페이스 옵션에 관계없이 동일합니다.

터미널 창에 다음 명령을 입력하여 새 스크립트를 만듭니다.

sudo nano easygui.py

빈 화면이 나타납니다.이 파일은 빈 파일입니다 (nano는 단순히 텍스트 편집기의 이름 임). EasyGUI를 스크립트로 가져 오려면 다음 행을 입력하십시오.

easygui 가져 오기에서 *

이 특정 버전의 가져 오기를 사용하여 나중에 쉽게 코딩 할 수 있습니다. 예를 들어, 'easygui.msgbox'를 쓰지 않고이 메일을 가져올 때 간단히 'msgbox'를 사용할 수 있습니다.

이제 EasyGUI의 주요 인터페이스 옵션을 살펴 보겠습니다.

04 중 10

기본 메시지 상자

간단한 메시지 상자는 EasyGUI로 시작하는 좋은 방법입니다. 리차드 사 빌레

이 메시지 상자는 가장 간단한 형태로 사용자에게 한 줄의 텍스트와 클릭 할 단일 단추를 제공합니다. 다음은 시도 할 예제입니다. 가져 오기 선 다음에 다음 행을 입력하고 Ctrl + X를 사용하여 저장하십시오.

msgbox ( "멋진 상자 응?", "나는 메시지 상자")

스크립트를 실행하려면 다음 명령을 사용하십시오.

sudo python easygui.py

상단 표시 줄에 '나는 메시지 상자'라는 메시지 상자가 표시되고 'Cool box huh?'라는 메시지가 나타납니다. 버튼 위에.

05 중 10

상자 계속 또는 취소

계속 / 취소 상자는 프로젝트에 확인을 추가 할 수 있습니다. 리차드 사 빌레

때때로 사용자에게 조치를 확인하거나 계속할 것인지 여부를 선택해야합니다. 'ccbox'상자는 위의 기본 메시지 상자와 동일한 텍스트 줄을 제공하지만 '계속'과 '취소'버튼을 제공합니다.

다음은 단말기에 계속 및 취소 버튼이 인쇄 된 사용 예입니다. 원하는 버튼을 클릭 한 후 액션을 변경할 수 있습니다.

from easygui import * import time msg = "계속 하시겠습니까?" title = "계속 하시겠습니까?" ccbox (msg, title) : # 계속 진행 / 취소 대화 상자 인쇄 "사용자 선택 계속"# 여기에 다른 명령 추가 : # 사용자 선택 인쇄 취소 "사용자 취소"# 다른 명령을 여기에 추가하십시오

06 중 10

사용자 지정 단추 상자

'버튼 상자'를 사용하면 맞춤 버튼 옵션을 만들 수 있습니다. 리처드 살 블레

기본 제공되는 상자 옵션이 필요한 것을 제공하지 않는 경우 '단추 상자'기능을 사용하여 사용자 지정 단추 상자를 만들 수 있습니다.

덮어 씌울 필요가있는 옵션이 더 있거나 UI로 여러 LED 또는 다른 구성 요소를 제어하는 ​​경우에 유용합니다.

다음은 주문에 대한 소스를 선택하는 예입니다.

from easygui import * import time msg = "어느 소스를 좋아하니?" reply == "온화한"경우 reply = buttonbox (msg, choices = choices) : reply == "Hot"일 경우 reply를 출력 : reply == 인 경우 reply를 출력합니다. "추가 핫": 답장 인쇄

07 중 10

선택 상자

Choice Box는 긴 항목 목록에 적합합니다. 리차드 사 빌레

버튼은 훌륭하지만 옵션 목록이 길면 '선택 상자'가 적합합니다. 상자에 10 개의 버튼을 넣으면 곧 동의 할 것입니다!

이 상자에는 사용할 수있는 옵션이 하나씩 차례로 나열되어 있으며 옆에는 '확인'및 '취소'상자가 있습니다. 그들은 합리적으로 똑똑하고 옵션을 알파벳순으로 정렬하고 키를 눌러 해당 문자의 첫 번째 옵션으로 이동할 수 있습니다.

다음은 스크린 샷에서 정렬 된 것을 볼 수있는 10 개의 이름을 보여주는 예입니다.

easygui import * import time msg = "누가 개들을 내버려 두었습니까?" 제목 = "Missing Dogs"선택 = [Alex, Cat, Michael, James, Albert, Phil, Yasmin, Frank, Tim, = 선택 상자 (msg, title, choices)

08 중 10

데이터 입력 상자

'Multenterbox'를 사용하면 사용자로부터 데이터를 캡처 할 수 있습니다. 리차드 사 빌레

양식은 프로젝트의 데이터를 캡처하는 가장 좋은 방법이며 EasyGUI에는 정보를 캡처하기위한 레이블이 지정된 필드를 표시 할 수있는 '멀티 센터'옵션이 있습니다.

다시 한 번 필드에 레이블을 지정하고 입력을 캡처하는 경우입니다. 우리는 아주 간단한 체육관 멤버쉽 가입 양식을 위해 아래에서 예를 만들었습니다.

유효성 검사 및 기타 고급 기능을 추가하는 옵션이 있으며 EasyGUI 웹 사이트에서 자세히 설명합니다.

from easygui import * import time msg = "회원 정보"title = "체조 회원 양식"fieldNames = [ "성", "성", "연령", "무게"] fieldValues ​​= [] # 출발 값 fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09/10

이미지 추가하기

상자에 이미지를 추가하여 완전히 새로운 방식으로 GUI를 사용할 수 있습니다. 리차드 사 빌레

매우 적은 양의 코드를 포함시켜 EasyGUI 인터페이스에 이미지를 추가 할 수 있습니다.

이미지를 EasyGUI 스크립트와 동일한 디렉토리에 Rdbberry Pi에 저장하고 파일 이름과 확장자 (예 : image1.png)를 적어 두십시오.

버튼 박스를 예로 들어 보겠습니다.

easygui import에서 가져 오기 * import time image = "RaspberryPi.jpg"msg = "이것은 라스베리 파이입니까?" 대답 == "예"일 경우 reply = buttonbox (msg, image = images, choices = choices) : "예"인쇄 else : 인쇄 "아니요"

10/10

고급 기능

EasyGUI로 결제 시스템을 만들 수는 없지만 재미있는 척할 수 있습니다!. 리차드 사 빌레

기본 'EasyGUI'옵션을 여기에서 다뤘지만, 배울 내용과 프로젝트에 필요한 많은 옵션과 예제가 있습니다.

암호 상자, 코드 상자 및 파일 상자조차도 사용할 수 있습니다. 몇 분내에 손쉽게 가져올 수있는 매우 다양한 라이브러리입니다. 하드웨어 컨트롤도 훌륭합니다.

Java, HTML 또는 기타와 같은 다른 코드를 코딩하는 방법을 배우려면 사용할 수있는 온라인 코딩 리소스가장 좋습니다 .