رابط کاربری ساده را با تمشک با استفاده از EasyGUI

اضافه کردن یک رابط کاربر گرافیکی (GUI) به پروژه Raspberry Pi شما یک راه عالی برای اضافه کردن یک صفحه نمایش برای ورود به داده ها، دکمه های روی صفحه نمایش برای کنترل ها و یا حتی یک راه هوشمندانه برای نشان دادن خواندن از اجزای مانند سنسور است.

01 از 10

ایجاد یک رابط برای پروژه شما

EasyGUI یک پروژه سریع و ساده است که این آخر هفته را امتحان می کند. ریچارد ساویل

تعدادی از روش های GUI مختلف موجود برای Raspberry Pi وجود دارد، با این حال، اکثر آنها منحنی یادگیری شیب دار دارند.

رابط کاربری Python Tkinter ممکن است به طور پیش فرض گزینه 'go to' برای اکثر موارد باشد، با این حال، مبتدیان می توانند با پیچیدگی آن مبارزه کنند. به طور مشابه، کتابخانه PyGame گزینه هایی برای ایجاد رابط های قابل توجهی ارائه می دهد، اما ممکن است مازاد به الزامات باشد.

اگر شما دنبال یک رابط کاربری ساده و سریع برای پروژه خود هستید، EasyGUI می تواند پاسخ باشد. چیزی که آن را در زیبایی گرافیکی فاقد آن است بیش از آن را در سادگی و سهولت استفاده می کند.

این مقاله یک مقدمه ای برای کتابخانه ارائه می دهد، از جمله برخی از گزینه های مفید که ما پیدا کرده ایم.

02 از 10

دانلود و وارد کردن EasyGUI

نصب EasyGUI با روش apt-get install ساده است. ریچارد ساویل

برای این مقاله، ما از سیستم عامل Raspbian استاندارد استفاده می کنیم که در اینجا موجود است.

نصب کردن کتابخانه بیشترین استفاده را از روش apt-get install خواهد داشت. شما نیاز به اتصال به اینترنت خود را Raspberry Pi، با استفاده از اتصال اترنت سیمی یا فای.

یک پنجره ترمینال (آیکون یک صفحه سیاه روی نوار وظیفه Pi خود) را باز کنید و دستور زیر را وارد کنید:

apt-get نصب python-easygui

این فرمان کتابخانه را دانلود کرده و آن را برای شما نصب می کند و این همه تنظیماتی است که شما باید انجام دهید.

03 از 10

وارد کردن EasyGUI

وارد کردن EasyGUI فقط یک خط را می گیرد. ریچارد ساویل

قبل از اینکه بتوانید از توابع آن استفاده کنید، EasyGUI باید به یک اسکریپت وارد شود. این امر با وارد کردن خط تک در بالای اسکریپت شما به دست می آید و بدون در نظر گرفتن گزینه های رابط کاربری EasyGUI شما از آن استفاده می کند.

با وارد کردن فرمان زیر در پنجره ترمینال، یک اسکریپت جدید ایجاد کنید:

sudo nano easygui.py

یک صفحه خالی به نظر می رسد - این فایل خالی شما است (نانو به سادگی نام یک ویرایشگر متن است). برای وارد کردن EasyGUI به اسکریپت خود، خط زیر را وارد کنید:

از import easygui *

ما از این نسخه خاص واردات استفاده می کنیم تا بعدا برنامه نویسی ساده تر شود. به عنوان مثال، هنگام وارد کردن این eway، به جای نیاز به نوشتن "easygui.msgbox" ما می توانیم به سادگی از "msgbox" استفاده کنیم.

حالا اجازه دهید برخی از گزینه های رابط کلید در EasyGUI را پوشش دهیم.

04 از 10

جعبه پیام اصلی

جعبه پیام ساده راه بسیار خوبی برای شروع EasyGUI است. ریچارد ساویل

این کادر پیام، در ساده ترین شکل آن، کاربر را یک خط متن و یک دکمه تک کلیک می کند. مثال زیر را امتحان کنید - بعد از خط واردات خود خط زیر را وارد کنید و با استفاده از Ctrl + X ذخیره کنید:

msgbox ("جعبه خنک ه؟"، "من جعبه پیام" است)

برای اجرای اسکریپت، از دستور زیر استفاده کنید:

sudo python easygui.py

شما باید یک جعبه پیام ظاهر می شود، با "من پیام جعبه" نوشته شده در نوار بالا، و "جعبه خنک هوه؟" بالای دکمه

05 از 10

ادامه یا لغو جعبه

جعبه Continue / Cancel می تواند تأیید پروژه های خود را اضافه کند. ریچارد ساویل

گاهی اوقات شما نیاز به کاربر برای تأیید یک عمل یا انتخاب کنید که آیا یا نه ادامه دهید. جعبه "ccbox" همان خط متن را به عنوان جعبه پیام اصلی بالا ارائه می دهد، اما 2 دکمه - "ادامه" و "لغو" را فراهم می کند.

در اینجا یک مثال از یک در استفاده است، با دکمه های ادامه و لغو چاپ به ترمینال. بعد از فشار دادن هر دکمه می توانید اقدام را تغییر دهید تا هرچه دوست دارید انجام دهید:

از import easygui * زمان واردات msg = "آیا میخواهید ادامه دهید؟" title = "ادامه؟" اگر ccbox (msg، title): # نمایش گفتگو Continue / Cancel را چاپ کنید "User selected continued" # دستورات دیگر را در اینجا جایگزین کنید: # user chose Cancel print "User canceled" # دستورات دیگر را اینجا اضافه کنید

06 از 10

دکمه جعبه سفارشی

دکمه "اجازه می دهد تا گزینه های سفارشی را ایجاد کنید. ریچارد Savlle

اگر گزینه های ساخته شده در جعبه کاملا به شما چیزی که شما نیاز دارید، شما می توانید یک جعبه دکمه سفارشی با استفاده از ویژگی 'جعبه' ایجاد کنید.

این فوق العاده است اگر شما گزینه های بیشتری دارید که نیاز به پوشش دارند، یا شاید تعدادی از LED ها یا سایر اجزای با رابط کاربر را کنترل کنید.

در اینجا یک مثال انتخاب سس برای سفارش:

از import easygui * زمان واردات msg = "کدام سس شما دوست دارید؟" گزینه reply = ["خفیف"، "داغ"، "فوق العاده داغ"] reply = buttonbox (msg، options = options) if reply == "خفیف": پاسخ پاسخ اگر پاسخ == "داغ": پاسخ چاپ پاسخ پاسخ == "فوق العاده داغ": پاسخ چاپ

07 از 10

جعبه انتخاب

جعبه انتخاب برای لیست های طولانی تر از موارد عالی است. ریچارد ساویل

دکمه ها عالی هستند، اما برای لیست های طولانی گزینه ها، "جعبه انتخابی" بسیار معنی می دهد. سعی کنید 10 دکمه را در یک جعبه قرار دهید و به زودی به توافق برسید.

این جعبه ها گزینه های موجود در ردیف ها را یکی پس از دیگری، با جعبه "OK" و "لغو" به سمت سمت را لیست می کند. آنها منطقی هوشمند هستند، گزینه های مرتب سازی بر اساس حروف الفبا و همچنین اجازه می دهد تا شما یک کلید را برای پرش به اولین گزینه از آن نامه فشار دهید.

در اینجا یک نمونه نشان ده ده نام است که می توانید آن را در تصویر مشاهده کنید.

از import easygui * زمان واردات msg = "چه کسی سگها را بیرون می کشد؟" ======================================================================================================================================================================================================================================================================================== = جعبه انتخاب (msg، title، options)

08 از 10

جعبه داده ورودی

"Multenterbox" به شما اجازه می دهد اطلاعات را از کاربران ضبط کنید. ریچارد ساویل

فرم ها یک راه عالی برای ضبط داده ها برای پروژه شما هستند، و EasyGUI دارای یک گزینه "multitenterbox" است که به شما امکان می دهد زمینه های برچسب گذاری شده را برای ضبط اطلاعات با نشان دادن نشان دهید.

یک بار دیگر این مورد مربوط به برچسب گذاری فیلدها و به سادگی گرفتن ورودی است. ما فرم زیر را برای فرم ثبت نام عضویت در باشگاه بسیار ساده ارائه دادیم.

گزینه هایی برای افزودن اعتبار سنجی و دیگر ویژگی های پیشرفته وجود دارد که وب سایت EasyGUI جزئیات آن را پوشش می دهد.

از import easygui * زمان واردات msg = "اطلاعات اعضا" title = "فرم عضویت باشگاه" fieldNames = ["نام"، "نام خانوادگی"، "سن"، "وزن"] fieldValues ​​= [] # مقدار fieldValues ​​= multenterbox (msg، title، fieldNames) fieldValues ​​را چاپ کنید

09 از 10

افزودن تصاویر

برای استفاده از رابط کاربری گرافیکی، تصاویر را به جعبه های خود اضافه کنید. ریچارد ساویل

شما می توانید تصاویر را به رابط های EasyGUI خود اضافه کنید با اضافه کردن مقدار بسیار کمی از کد.

یک تصویر را به Raspberry Pi خود در یک دایرکتوری به نام اسکریپت EasyGuI ذخیره کنید و از نام و پسوند فایل (به عنوان مثال، image1.png) یادداشت کنید.

بیایید از کادر دکمه به عنوان مثال استفاده کنیم

از import easygui * زمان واردات image = "RaspberryPi.jpg" msg = "آیا این یک تمشک پی است؟" option = = "بله"، "نه"] reply = buttonbox (msg، image = image، choices = options) اگر پاسخ == "بله": چاپ "بله" else: print "no"

10 از 10

ویژگی های پیشرفته تر

شما نمی توانید سیستم های پرداخت با EasyGUI ایجاد کنید، اما شما می توانید وانمود کنید که سرگرم کننده است! ریچارد ساویل

ما گزینه های اصلی EasyGUI را اینجا قرار دادیم تا بتوانید شروع به کار کنید، با این حال، گزینه های جعبه ای و گزینه های بیشتری وجود دارد که بسته به اینکه چقدر می خواهید یاد بگیرید و آنچه نیاز دارید پروژه باشد.

جعبه های رمز عبور، جعبه های کد و حتی جعبه های فایل برای نام چند نام در دسترس هستند. این یک کتابخانه بسیار متنوع است که در عرض چند دقیقه امکان پذیر است، همچنین امکان کنترل سخت افزاری نیز وجود دارد.

اگر می خواهید یاد بگیرند که کدام چیزهای دیگری مانند Java، HTML یا بیشتر کد گذاری کنید، در اینجا بهترین منابع کدگذاری آنلاین موجود است.