EasyGUI yordamida Raspberry PI bilan oddiy GUIlar yarating

Raspberry Pi loyihangizga grafik foydalanuvchi interfeysi qo'shish (GUI) - ma'lumotlarni kiritish uchun ekranni qo'shish, ekrandagi tugmachalarni boshqarish yoki sensorlar kabi qismlardan o'qishni ko'rsatishning eng aqlli usuli.

01dan 10gacha

Loyihangiz uchun interfeys yarating

EasyGUI, bu hafta oxiri sinash uchun tezkor va oddiy loyihadir. Richard Saville

Raspberry Pi uchun mavjud bo'lgan turli xil GUI usullari mavjud, ammo ularning aksariyati tik o'rganish egri chizig'iga egadir.

Tkinter Python interfeysi aksariyat holatlar uchun "o'tish" variantini tanlashi mumkin, biroq yangi boshlovchilar murakkabligi bilan kurashishi mumkin. Xuddi shunday, PyGame kutubxonasi ta'sirli interfeyslarni ishlab chiqarish uchun variantlarni taklif etadi, lekin talablarga ortiqcha bo'lishi mumkin.

Agar loyihangiz uchun oddiy va tezkor interfeys izlayotgan bo'lsangiz, EasyGUI javob bo'lishi mumkin. Grafika go'zalligidan mahrum bo'lgan narsa, uning soddaligi va foydalanish qulayligidan dalolat beradi.

Ushbu maqola sizga kutubxonaga kirishni taklif qiladi, shu jumladan biz topgan eng foydali variantlardan biri.

02 ning 10

EasyGUIni yuklab olish va import qilish

EasyGUI o'rnatilishi "apt-get install" usuli bilan oson. Richard Saville

Ushbu maqola uchun biz bu erda mavjud bo'lgan standart Raspbian operatsion tizimidan foydalanmoqdamiz.

Kutubxonani o'rnatish "apt-get install" usuli yordamida ko'pchilik uchun taniqli jarayon bo'ladi. Raspberry Pi-da simli Ethernet yoki Wi-Fi ulanishi yordamida internetga ulanish kerak.

Terminal oynasini oching (P ning vazifalar paneli ustida qora ekran belgisi) va quyidagi buyruqni kiriting:

apt-get install python-easygui

Ushbu buyruq kutubxonani yuklab olib, uni siz uchun o'rnatadi va siz bajaradigan barcha sozlamalar.

03 dan 10gacha

Import EasyGUI

EasyGUI-ni import qilish bitta yo'nalishdan iborat. Richard Saville

EasyGUI funksiyasidan foydalanishdan oldin scriptni import qilish kerak. Bunga ssenariyangizning yuqori qismida bitta qatorni kiritib erishishingiz mumkin va siz foydalanadigan EasyGUI interfeysi variantlaridan qat'iy nazar bir xil bo'ladi.

Terminal oynasida quyidagi buyruqni kiritib yangi skript yarating:

sudo nano easygui.py

Bo'sh ekran ko'rinadi - bu sizning bo'sh faylingiz (nano - faqat matn muharriri nomi). EasyGUI-ni skriptingizga import qilish uchun quyidagi qatorni kiriting:

easygui import dan *

Keyinchalik kodlashni osonlashtirish uchun importning ushbu maxsus versiyasidan foydalanamiz. Misol uchun, 'easygui.msgbox' yozishni amalga oshirish o'rniga, biz "msgbox" ni ishlatishimiz mumkin.

Keling, EasyGUI-dagi ba'zi asosiy interfeyslarni qoplaylik.

04/10

Asosiy xabarlar qutisi

Oddiy xabarlar qutisi EasyGUI bilan boshlashning ajoyib usuli. Richard Saville

Ushbu xabar qutisi eng sodda shaklda foydalanuvchi uchun matnli qatorni va bitta tugmachani bosish imkonini beradi. Quyidagilarni sinash uchun namuna - import liniyangizdan keyin quyidagi qatorni kiriting va Ctrl + X tugmalarini bosib saqlang:

msgbox ("Cool box huh?", "Men xabar qutisi")

Buyruqni ishlatish uchun quyidagi buyruqni ishlating:

sudo python easygui.py

Xabar qutisi paydo bo'lishi kerak, "Men - Xabarlar qutisi" va yuqori satrda yozilgan va "Cool box huh?" tugmasini bosing.

10dan 10gacha

Davom etish yoki Bekor qilish qutisi

Continue / Cancel (Bekor qilish / Bekor qilish) qutisi loyihalaringizga tasdiqlashni qo'shishi mumkin. Richard Saville

Ba'zan foydalanuvchi sizning harakatingizni tasdiqlashi yoki davom etish kerakligini tanlashi kerak bo'ladi. "Ccbox" qutisi yuqoridagi asosiy xabar qutisi sifatida bir xil matnni taqdim etadi, lekin 2 tugma - "Davom et" va "Bekor qilish" ni taqdim etadi.

Terminalga chop etishni davom ettirish va tugmachalarni bekor qilish bilan, ulardan foydalanishda bir misol. Siz xohlagan narsani bajarish uchun har bir tugmani bosgandan keyin amalni o'zgartirishingiz mumkin:

easygui import * import time msg = "davom etishni istaysizmi?" title = "Davom etilsinmi?" # ccbox (msgs, title): # davomi / Bekor qilish oynasini ko'rsatish "User selected continue" # Bu yerda boshqa buyruqlar qo'shing: # foydalanuvchi tanladi Chop etishni bekor qilish "Foydalanuvchi bekor qilindi" # Bu yerda boshqa buyruqlar qo'shing

06 dan 10gacha

Maxsus tugmacha qutisi

"Buton qutisi" sizga maxsus tugma parametrlarini kiritish imkonini beradi. Richard Savlle

O'rnatilgan quti variantlari sizga kerakli narsani bermagan bo'lsa, "buttonbox" xususiyatidan foydalanib, maxsus tugmacha qutisini yaratishingiz mumkin.

Agar qopqoqni talab qiladigan qo'shimcha variantlar bo'lsa, yoki u interfeysi bilan bir qator LEDni yoki boshqa komponentlarni nazorat qilsangiz yaxshi bo'ladi.

Buyurtma uchun sousni tanlab olingan misol:

easygui import * import time msg = "Sizga qaysi sous istaysiz?" == "Yumshoq": agar javob bo'lsa javob == "Issiq": agar javob bo'lsa javob bering == "Yumshoq", "Hot", "Extra Hot" "Extra Hot": bosma javob

07 dan 10gacha

Tanlov qutisi

Saylov qutisi uzun elementlar ro'yxati uchun juda yaxshi. Richard Saville

Tugmachalar ajoyib, ammo variantlarning uzoq ro'yxatlari uchun "tanlash quti" ko'p ma'noga ega. Bir qutidagi 10 ta tugmani bosib ko'ring va tez orada rozi bo'lasiz!

Ushbu qutilarda mavjud bo'lgan variantlar ketma-ketlikda ketma-ketlikda "OK" va "Bekor qilish" qutisiga yonma-yon keladi. Ular aql bovar qilmaydigan, variantlarni alifbo tartibida ajratib turadigan, shuningdek, bu xatning birinchi variantiga o'tish uchun kalitni bosishga imkon beradi.

Mana sizga o'nta ismni ko'rsatadigan misol, bu sizning ekraningizda tasvirlangan.

easygui import * import vaqtidan msg = "Itlarga kim ruxsat berdi?" title = "Yo'qotilgan itlar" tanlovlari = ["Alex", "Cat", "Maykl", "Jeyms", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] = tanlash qutisi (msgs, sarlavha, tanlovlar)

08 dan 10gacha

Ma'lumot kirish qutisi

"Multenterbox" foydalanuvchidan ma'lumotlarni olish imkonini beradi. Richard Saville

Shakllar sizning loyihangiz uchun ma'lumotni qo'lga kiritishning ajoyib usuli va EasyGUI bilan ma'lumot olish uchun etiketli maydonlarni ko'rsatishga imkon beruvchi 'multenterbox' varianti mavjud.

Yana bir marta bu maydonlarni yorliqlash va oddiygina yozishni kuzatish xolati. Biz juda oddiy sport zali a'zoligiga ro'yxatdan o'tish uchun quyidagi misolni keltirdik.

EasyGUI veb-sayti batafsil yoritilgan tekshirish va boshqa rivojlangan xususiyatlarni kiritish imkoniyatlari mavjud.

easygui import * import time msg = "Members Information" title = "Gym Membership Form" fieldNames = ["Ism", "Familiya", "Yosh", "Og'irligi"] fieldValues ​​= [] # boshlang'ich qiymatlari fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 dan 10 ga

Rasm qo'shish

GUI dan foydalanishning yangi usuli uchun qutingizga rasm qo'shing. Richard Saville

Juda oz miqdordagi kodni qo'shish orqali siz EasyGUI interfeyslariga rasm qo'shishingiz mumkin.

Rasmni Raspberry Pi-ga EasyGUI skriptingiz bilan bir xil katalogga yozib oling va fayl nomi va kengaytmasini (masalan, image1.png) yozing.

Misol sifatida tugma qutisini ishlatamiz:

easygui import dan * import time image = "RaspberryPi.jpg" msg = "Bu Raspberry Pi emasmi?" == "Ha": print "Yes" else: print "Yo'q" = "Ha"

10 dan 10 gacha

Keyinchalik rivojlangan imkoniyatlar

EasyGUI bilan to'lov tizimini amalga oshira olmaysiz, lekin siz o'zingizni qiziqtirganingizdan xursand bo'lishingiz mumkin! Richard Saville

Sizga boshlash uchun asosiy "asosiy" EasyGUI variantlarini ko'rib chiqdik, biroq siz o'rganmoqchi bo'lgan narsaga va sizning loyihangizga nima talab qilinganiga qarab, ko'proq qutilarga oid variantlar va misollar mavjud.

Parol qutilari, kod qutilari va hatto fayl qutilari bir necha ismga ega. Bu juda ham qulay bo'lgan kutubxona bo'lib, uni bir necha daqiqada olish oson, bir qator ajoyib apparatni boshqarish imkoniyatlari ham mavjud.

Java, HTML va boshqa narsalar kabi boshqa narsalarni qanday kodlashni o'rganishni istasangiz, bu erda eng yaxshi onlayn kodlash resurslari mavjud.