در ادامه این آموزش و با ساختن GUI در رسپبریپای و به کمک پایتون شما خواهید آموخت:
- GUI چیست؟
- استفاده کردن از توابع به چه صورتی است؟
- برنامهریزی مبتنی بر رویداد چیست و تفاوت آن با برنامهریزی رویهای چگونه است؟
قطعات موردنیاز برای این آموزش، برد رسپبریپای 3 و کامپیوتر میباشد.
نصب و راهاندازی نرمافزار
برای نصب نرمافزار شما به یک برد رسپبریپای (رزبریپای) نیاز دارید. کافی است تا دستوراتی که در ادامه میآیند را در ترمینال اجرا کنید:
sudo pip3 install guizero
اگر شما از ویندوز کامپیوتر استفاده میکنید، باید اطمینان حاصل کنید که "pip" نصب شده باشد. یک صفحه command prompt را بازکرده و در آن دستور زیر را بنویسید:
python -m pip install -U pip
با نصب pip بر روی command prompt بنویسید:
pip install guizero
GUI چیست؟
GUI مخفف رابط کاربری گرافیکی است. اگر شما قبلاً برنامههای پایتون نوشته باشید، همه ورودی و خروجی شما احتمالاً از طریق متن روی صفحهنمایش ظاهر میشده و یا بهوسیله کاربر تایپشده است. اضافه کردن GUI به برنامههایتان اجازه میدهد تا کاربر با استفاده از دکمهها، نشان دادن فهرستی برای انتخاب، جعبههای متنی، منوها و دیگر رابطهای کنترلی مشابه کار کند و نیاز به نوشتن برنامه نباشد.
شروع یادگیری این آموزش:
قبل از اینکه شروع کنیم، مطمئن شوید که کتابخانه “guizero” را نصبکرده باشید.
- پایتون 3 (IDLE) را بازکنید.
- روی file کلیک کرده و New File را انتخاب کنید و آن را با عنوان py ذخیره کنید.
- یک خط کد را در ابتدای فایلتان برای واردکردن کلاس App از کتابخانه guizero اضافه کنید:
from guizero import App
- اکنون دو خط کد دیگر برای ایجاد یک App و سپس نمایش آن روی صفحهنمایش اضافه کنید:
app = App(title="Hello world")
app.display()
- فایل خود را ذخیره کرده و دکمه F5 را برای اجرای آن فشار دهید. شما باید یک پنجره GUI مانند زیر ببینید:
تبریک، شما اولین GUI app خود را ساختید.
اضافه کردن ویجتها (widgets)
بیایید در ادامه این آموزش، به GUI متن اضافه کنیم. ما به آیتمهایی که شما میتوانید به یک GUI اضافه کنید (مانند متن، جعبه متنی، دکمهها و غیره) با عنوان ویجت رجوع میکنیم. زمانی که یک ویجت اضافه میکنید، باید چندین قانون را رعایت کنید:
- اگر شما میخواهید یک نوع جدیدی از ویجت را استفاده کنید، باید آن را وارد کنید. اولین خط از کد برنامه شما مانند دستور زیر خواهد بود:
from guizero import App
بهعنوانمثال، اگر شما بخواهید از ویجت متن استفاده کنید، شما باید آن را به خط ورودی اضافه کنید مانند این:
from guizero import App, Text
در طول این آموزش ما از شما میخواهیم تا انواع متفاوتی از ویجتها را وارد کنید. هر نوع از ویجت نیاز است فقط به خط ورودی یکبار اضافه شود و سپس شما میتوانید هرچند باری که بخواهید از آن در GUI خود استفاده کنید.
- همه دستوراتی که ویجت میسازند باید قبل از حلقه event loop اضافه شوند. این به این معنی است که باید این دستورها بین خط دستور جایی که شما app را میسازید و جایی که دستور نمایش app یا display() مینویسید قرار بگیرند.
این به این دلیل است که خط مربوط به کد app.desply() حلقه رویداد را شروع میکند. GUI منتظر میماند تا کاربر کاری را انجام دهد مثلاً روی دکمه کلیک کند که درواقع این کارها رویدادها هستند. در این حالت اکنون برنامه بهطور مداوم بررسی میکند که چه چیز جدیدی اتفاق افتاده است و بهصورت خودکار صفحهنمایش را در صورت لزوم بهروزرسانی میکند.
در طول این آموزش ما از شما میخواهیم تا ویجتهای جدیدی را به GUI اضافه کنید که به معنای اضافه کردن آنها جایی بین این دو خطوط دستور است. حال در ادامه آموزش با انواع مختلف ویجتها و نوشتن دستورات آنها آشنا میشویم.
ویجت متنی (Text widget)
احتمالاً آسانترین ویجتی که شما میتوانید اضافه کنید، ویجت متنی است که تعدادی متن را روی صفحهنمایش نشان میدهد.
- “text” را به جمله ورودی اضافه کنید. (اگر شما مطمئن نیستید چگونه این کار را انجام دهید، قدم اول را از بخش " اضافه کردن ویجتها " بخوانید.)
- یک ویجت متنی به GUI اضافه کنید. (اگر شما نمیدانید این کد را باید کجا وارد کنید، قدم دوم را از بخش "اضافه کردن ویجتها " بخوانید)
welcome_message = Text(app, text="Welcome to my app")
در اینجا ما یک ویجت متنی بانام “welcome _message” ایجاد کردیم. اولین آرگومان (در پرانتزها) به ویجت میگوید که رئیس کیست. اگر بخواهیم دقیقتر بیان کنیم، به این ویجت متنی میگوییم که با این app object کنترل میشود که ما قبلاً ایجاد کردهایم. همیشه اولین ارگمانی که به هر ویجت داده میشود، میگوید که رئیس کیست و ویجت از چه طریقی کنترل میشود.
- کد خود را با فشردن دکمه F5 اجرا کنید. شما باید ببینید که متن روی GUI شما نشان داده میشود.
- همانطور که حتماً توجه کردید، با مشخص کردن:text= “welcome to my app” ما میتوانیم به ویجت متنی بگوییم که میخواهیم چه متنی روی صفحهنمایش نشان داده شود. این یک آرگومان کلیدی نامیده میشود زیرا ما کلمه کلیدی متن و ارزش آن را مشخص کردیم. ما میتوانیم کلمههای کلیدی دیگری را تنها با اضافه کردن آنها در انتها مشخص کنیم. آنها را با کاما از یکدیگر جدا میکنیم. بهعنوانمثال دستور زیر را بنویسید:
welcome_message = Text(app, text="Welcome to my app", size=40, font="Times New Roman", color="lightblue")
در اینجا، ما کلمههای کلیدی آرگومان را برای اندازه، فونت و رنگ استفاده کردیم.
شما میتوانید هر فونتی که روی کامپیوتر شما نصب شده است را مشخص کنید. رنگها میتوانند با عنوان اسم رنگها مشخص شوند اما همه رنگهای موجود اسم ندارند، بنابراین شما مجبورید از کدهای هگز (hex) (یعنی #ff0000) برای تعریف رنگها استفاده کنید.
بنابراین تا به اینجای کار در این آموزش، متوجه شدیم که GUI چیست و چگونه میتوان آن را با استفاده از زبان پایتون در رسپبریپای (رزبریپای) ایجاد کرد. سپس، نحوه ایجاد ویجتها را یاد گرفتیم و با اضافه کردن ویجت متنی آموزش دنبال شد. برای فراگیری ادامه آموزش و افزودن ویجتهای دیگر آموزش "شروع کار با رابط کاربری گرافیکی (GUI) در رسپبریپای با پایتون (قسمت دوم)" را دنبال کنید.
نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...
ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت projects.raspberrypi.org
نظرات (3)