اضافه کردن یک رابط کاربر گرافیکی (GUI) به پروژه Raspberry Pi شما یک راه عالی برای اضافه کردن یک صفحه نمایش برای ورود به داده ها، دکمه های روی صفحه نمایش برای کنترل ها و یا حتی یک راه هوشمندانه برای نشان دادن خواندن از اجزای مانند سنسور است.
01 از 10
ایجاد یک رابط برای پروژه شما
تعدادی از روش های GUI مختلف موجود برای Raspberry Pi وجود دارد، با این حال، اکثر آنها منحنی یادگیری شیب دار دارند.
رابط کاربری Python Tkinter ممکن است به طور پیش فرض گزینه 'go to' برای اکثر موارد باشد، با این حال، مبتدیان می توانند با پیچیدگی آن مبارزه کنند. به طور مشابه، کتابخانه PyGame گزینه هایی برای ایجاد رابط های قابل توجهی ارائه می دهد، اما ممکن است مازاد به الزامات باشد.
اگر شما دنبال یک رابط کاربری ساده و سریع برای پروژه خود هستید، EasyGUI می تواند پاسخ باشد. چیزی که آن را در زیبایی گرافیکی فاقد آن است بیش از آن را در سادگی و سهولت استفاده می کند.
این مقاله یک مقدمه ای برای کتابخانه ارائه می دهد، از جمله برخی از گزینه های مفید که ما پیدا کرده ایم.
02 از 10
دانلود و وارد کردن EasyGUI
برای این مقاله، ما از سیستم عامل Raspbian استاندارد استفاده می کنیم که در اینجا موجود است.
نصب کردن کتابخانه بیشترین استفاده را از روش apt-get install خواهد داشت. شما نیاز به اتصال به اینترنت خود را Raspberry Pi، با استفاده از اتصال اترنت سیمی یا فای.
یک پنجره ترمینال (آیکون یک صفحه سیاه روی نوار وظیفه Pi خود) را باز کنید و دستور زیر را وارد کنید:
apt-get نصب python-easyguiاین فرمان کتابخانه را دانلود کرده و آن را برای شما نصب می کند و این همه تنظیماتی است که شما باید انجام دهید.
03 از 10
وارد کردن EasyGUI
قبل از اینکه بتوانید از توابع آن استفاده کنید، EasyGUI باید به یک اسکریپت وارد شود. این امر با وارد کردن خط تک در بالای اسکریپت شما به دست می آید و بدون در نظر گرفتن گزینه های رابط کاربری EasyGUI شما از آن استفاده می کند.
با وارد کردن فرمان زیر در پنجره ترمینال، یک اسکریپت جدید ایجاد کنید:
sudo nano easygui.pyیک صفحه خالی به نظر می رسد - این فایل خالی شما است (نانو به سادگی نام یک ویرایشگر متن است). برای وارد کردن EasyGUI به اسکریپت خود، خط زیر را وارد کنید:
از import easygui *ما از این نسخه خاص واردات استفاده می کنیم تا بعدا برنامه نویسی ساده تر شود. به عنوان مثال، هنگام وارد کردن این eway، به جای نیاز به نوشتن "easygui.msgbox" ما می توانیم به سادگی از "msgbox" استفاده کنیم.
حالا اجازه دهید برخی از گزینه های رابط کلید در EasyGUI را پوشش دهیم.
04 از 10
جعبه پیام اصلی
این کادر پیام، در ساده ترین شکل آن، کاربر را یک خط متن و یک دکمه تک کلیک می کند. مثال زیر را امتحان کنید - بعد از خط واردات خود خط زیر را وارد کنید و با استفاده از Ctrl + X ذخیره کنید:
msgbox ("جعبه خنک ه؟"، "من جعبه پیام" است)برای اجرای اسکریپت، از دستور زیر استفاده کنید:
sudo python easygui.pyشما باید یک جعبه پیام ظاهر می شود، با "من پیام جعبه" نوشته شده در نوار بالا، و "جعبه خنک هوه؟" بالای دکمه
05 از 10
ادامه یا لغو جعبه
گاهی اوقات شما نیاز به کاربر برای تأیید یک عمل یا انتخاب کنید که آیا یا نه ادامه دهید. جعبه "ccbox" همان خط متن را به عنوان جعبه پیام اصلی بالا ارائه می دهد، اما 2 دکمه - "ادامه" و "لغو" را فراهم می کند.
در اینجا یک مثال از یک در استفاده است، با دکمه های ادامه و لغو چاپ به ترمینال. بعد از فشار دادن هر دکمه می توانید اقدام را تغییر دهید تا هرچه دوست دارید انجام دهید:
از import easygui * زمان واردات msg = "آیا میخواهید ادامه دهید؟" title = "ادامه؟" اگر ccbox (msg، title): # نمایش گفتگو Continue / Cancel را چاپ کنید "User selected continued" # دستورات دیگر را در اینجا جایگزین کنید: # user chose Cancel print "User canceled" # دستورات دیگر را اینجا اضافه کنید06 از 10
دکمه جعبه سفارشی
اگر گزینه های ساخته شده در جعبه کاملا به شما چیزی که شما نیاز دارید، شما می توانید یک جعبه دکمه سفارشی با استفاده از ویژگی 'جعبه' ایجاد کنید.
این فوق العاده است اگر شما گزینه های بیشتری دارید که نیاز به پوشش دارند، یا شاید تعدادی از LED ها یا سایر اجزای با رابط کاربر را کنترل کنید.
در اینجا یک مثال انتخاب سس برای سفارش:
از import easygui * زمان واردات msg = "کدام سس شما دوست دارید؟" گزینه reply = ["خفیف"، "داغ"، "فوق العاده داغ"] reply = buttonbox (msg، options = options) if reply == "خفیف": پاسخ پاسخ اگر پاسخ == "داغ": پاسخ چاپ پاسخ پاسخ == "فوق العاده داغ": پاسخ چاپ07 از 10
جعبه انتخاب
دکمه ها عالی هستند، اما برای لیست های طولانی گزینه ها، "جعبه انتخابی" بسیار معنی می دهد. سعی کنید 10 دکمه را در یک جعبه قرار دهید و به زودی به توافق برسید.
این جعبه ها گزینه های موجود در ردیف ها را یکی پس از دیگری، با جعبه "OK" و "لغو" به سمت سمت را لیست می کند. آنها منطقی هوشمند هستند، گزینه های مرتب سازی بر اساس حروف الفبا و همچنین اجازه می دهد تا شما یک کلید را برای پرش به اولین گزینه از آن نامه فشار دهید.
در اینجا یک نمونه نشان ده ده نام است که می توانید آن را در تصویر مشاهده کنید.
از import easygui * زمان واردات msg = "چه کسی سگها را بیرون می کشد؟" ======================================================================================================================================================================================================================================================================================== = جعبه انتخاب (msg، title، options)08 از 10
جعبه داده ورودی
فرم ها یک راه عالی برای ضبط داده ها برای پروژه شما هستند، و 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 را اینجا قرار دادیم تا بتوانید شروع به کار کنید، با این حال، گزینه های جعبه ای و گزینه های بیشتری وجود دارد که بسته به اینکه چقدر می خواهید یاد بگیرید و آنچه نیاز دارید پروژه باشد.
جعبه های رمز عبور، جعبه های کد و حتی جعبه های فایل برای نام چند نام در دسترس هستند. این یک کتابخانه بسیار متنوع است که در عرض چند دقیقه امکان پذیر است، همچنین امکان کنترل سخت افزاری نیز وجود دارد.
اگر می خواهید یاد بگیرند که کدام چیزهای دیگری مانند Java، HTML یا بیشتر کد گذاری کنید، در اینجا بهترین منابع کدگذاری آنلاین موجود است.