شروع کار با رابط کاربری گرافیکی (GUI) در رسپبری‌پای با پایتون (قسمت اول)

شنبه, 25 آذر 1396 16:17
این مورد را ارزیابی کنید
(11 رای‌ها)

در این آموزش خواهیم دید که چگونه می‌توان رابط‌های گرافیکی (GUIs) ساده را در رسپبری‌پای به زبان پایتون بسازیم.

در ادامه این آموزش و با ساختن GUI در رسپبری‌پای و به کمک پایتون شما خواهید آموخت:

  • GUI چیست؟
  • استفاده کردن از توابع به چه صورتی است؟
  • برنامه‌ریزی مبتنی بر رویداد چیست و تفاوت آن با برنامه‌ریزی رویه‌ای چگونه است؟

قطعات موردنیاز برای این آموزش، برد رسپبری‌پای 3 و کامپیوتر می‌باشد.

raspberrypi3

نصب و راه‌اندازی نرم‌افزار

برای نصب نرم‌افزار شما به یک برد رسپبری‌پای (رزبری‌پای) نیاز دارید. کافی است تا دستوراتی که در ادامه می‌آیند را در ترمینال اجرا کنید:

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

تبریک، شما اولین GUI app خود را ساختید.

اضافه کردن ویجت‌ها (widgets)

بیایید در ادامه این آموزش، به GUI متن اضافه کنیم. ما به آیتم‌هایی که شما می‌توانید به یک GUI اضافه کنید (مانند متن، جعبه متنی، دکمه‌ها و غیره) با عنوان ویجت رجوع می‌کنیم. زمانی که یک ویجت اضافه می‌کنید، باید چندین قانون را رعایت کنید:

  • اگر شما می‌خواهید یک نوع جدیدی از ویجت را استفاده کنید، باید آن را وارد کنید. اولین خط از کد برنامه شما مانند دستور زیر خواهد بود:

from guizero import App

به‌عنوان‌مثال، اگر شما بخواهید از ویجت متن استفاده کنید، شما باید آن را به خط ورودی اضافه کنید مانند این:

from guizero import App, Text

در طول این آموزش ما از شما می‌خواهیم تا انواع متفاوتی از ویجت‌ها را وارد کنید. هر نوع از ویجت نیاز است فقط به خط ورودی یک‌بار اضافه شود و سپس شما می‌توانید هرچند باری که بخواهید از آن در GUI خود استفاده کنید.

  • همه دستوراتی که ویجت می‌سازند باید قبل از حلقه event loop اضافه شوند. این به این معنی است که باید این دستورها بین خط دستور جایی که شما app را می‌سازید و جایی که دستور نمایش app یا display() می‌نویسید قرار بگیرند.

 event-loop

این به این دلیل است که خط مربوط به کد 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

خواندن 7559 دفعه
پشتیبانی

عباس بطالبلو دانش‌آموخته کارشناس ارشد رشته مهندسی مکاترونیک از دانشگاه صنعتی خواجه نصیرالدین طوسی و عضو گروه رباتیک جراح آزمایشگاه ارس (ARAS) هستند. موضوع پایان نامه کارشناسی ارشد ایشان در زمینه ی «طراحی و پیاده سازی ربات ۲RT برای جراحی از دور چشم» بوده است. ایشان سابقه پیاده سازی و ساخت ربات هایی چون ربات موازی جراحی چشم، ربات سری SCARA، ربات Palletizer و … را دارند.

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (3)

  1. بطالبلو

[quote name="آرین کشوری"]آقا دمت گرم.<br />آدم مثل تو بامرام ندیدم که آموزشش هم با پایتون 3 باشه هم رایگان باشه.<br />خدا رو شکر که هنوز هم آدم با مرام پیدا میشه.<br />ایشالا خدا سایه لطفش رو از سرت کم نکنه ، با مرام.<br /><br /><br /><br /><br...

[quote name="آرین کشوری"]آقا دمت گرم.<br />آدم مثل تو بامرام ندیدم که آموزشش هم با پایتون 3 باشه هم رایگان باشه.<br />خدا رو شکر که هنوز هم آدم با مرام پیدا میشه.<br />ایشالا خدا سایه لطفش رو از سرت کم نکنه ، با مرام.<br /><br /><br /><br /><br /><br />فقط این کد امنیتیت کم رنگه ، خوندنش سخته[/quote]<br /><br />سلام دوست عزیز<br />ممنون لطفتون و نظر پر انرژی تون<br />خیلی خوشحالیم که آموزش‌هامون در راستای نیاز کاربرامون هست<br />موفق باشید )

ادامه مطلب
 
  1. آرین کشوری

آقا دمت گرم.<br />آدم مثل تو بامرام ندیدم که آموزشش هم با پایتون 3 باشه هم رایگان باشه.<br />خدا رو شکر که هنوز هم آدم با مرام پیدا میشه.<br />ایشالا خدا سایه لطفش رو از سرت کم نکنه ، با مرام.<br /><br /><br /><br /><br /><br />فقط این کد امنیتیت...

آقا دمت گرم.<br />آدم مثل تو بامرام ندیدم که آموزشش هم با پایتون 3 باشه هم رایگان باشه.<br />خدا رو شکر که هنوز هم آدم با مرام پیدا میشه.<br />ایشالا خدا سایه لطفش رو از سرت کم نکنه ، با مرام.<br /><br /><br /><br /><br /><br />فقط این کد امنیتیت کم رنگه ، خوندنش سخته

ادامه مطلب
 
هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

محتوای آموزشی استفاده شده در این سایت محافظت شده می باشد و هرگونه کپی برداری از محتواهای تولید شده توسط تیم صنعت بازار موجب پیگرد خواهد بود. استفاده از مطالب صنعت بازار تنها با ذکر منبع به صورت لینک فعال بلامانع است

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com