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

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

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

تا به اینجای کار در آموزش "شروع کار با رابط کاربری گرافیکی (GUI) در رسپبری‌پای با پایتون (قسمت اول)", متوجه شدیم که GUI چیست و چگونه می‌توان آن را با استفاده از زبان پایتون در رسپبری‌پای (رزبری‌پای) ایجاد کرد. سپس، نحوه ایجاد ویجت‌ها را یاد گرفتیم و با اضافه کردن ویجت متنی آموزش دنبال شد. در ادامه، با ویجت‌های دیگر کار را دنبال می‌کنیم.

ویجت جعبه متنی (TextBox widget)

ویجت جعبه متنی برای این استفاده می‌شود که به کاربر اجازه دهد داده‌ها را تایپ کند- کمی شبیه تابع input() که قبلاً در ورژن GUI استفاده کرده‌اید است. در اینجا نشان داده می‌شود چگونه یک ویجت جعبه متنی اضافه کنیم:

  • ویجت جعبه متنی را به جمله ورودی خود اضافه کنید.
  • با دستور زیر یک ویجت جعبه متنی به GUI اضافه کنید.

 my_name = TextBox(app)

  • کد خود را با فشردن F5 اجرا کنید. شما باید ببینید که یک جعبه متنی کوچک ظاهر می‌شود. یک کلمه کلیدی پارامتر "width" وجود دارد که شما می‌توانید اگر جعبه عریض‌تری خواستید اضافه کنید از آن استفاده کنید.

GUI

ویجت دکمه‌ای (PushButton widget)

ویجت دکمه‌ای یک دکمه را ایجاد می‌کند که زمانی که این دکمه فشرده شود، یک تابع فراخوانده می‌شود.

  • قبل از دستوراتی که GUI app می‌سازد، تابعی که قرار است پس از فشردن دکمه فراخوانده شود را بنویسید. این ایده خوبی است که کد همه تابع‌هایتان را در ابتدای برنامه و دقیقاً بعد از خط ورودی import line بنویسید:

 def say_my_name(): welcome_message.set(my_name.get() )

این تابع به ویجت متنی (welcome_message) برمی‌گردد و مقدارش را از نوشته‌ای که در ویجت جعبه متنی نوشته می‌شود می‌گیرد. (my_name).

شما می‌توانید از تابع‌های get() و set() با ویجت‌های زیادی برای بازیابی مقدار کنونی آن‌ها یا تنظیم مقدار جدیدی برای آن‌ها، استفاده کنید.

  • ویجت دکمه‌ای را به جمله ورودی خود اضافه کنید.
  • و با دستور زیر، دکمه را به GUI اضافه کنید.

 update_text = PushButton(app, command=say_my_name, text="Display my name"

اولین آرگومان به دکمه می‌گوید که رئیس app است. سپس ما از دو کلمه کلیدی آرگومان استفاده کردیم که دستور command به دکمه می‌گوید که چه تابعی زمان فشردن دکمه فراخوانده شود و دستور text هم متنی است که درون دکمه نشان داده خواهد شد.

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

display-my-name

اکنون شما اساس اینکه حلقه رویداد (event loop) چگونه کار می‌کند را می‌دانید. GUI برای یک رویداد صبر می‌کند (در این مورد شما روی دکمه کلیک می‌کنید) و سپس تابعی را برای پاسخ دادن به رویداد فرامی‌خواند. این تابع ممکن است حاوی کدی باشد که چیزی را در GUI تغییر دهد؛ و اگر این‌طور باشد، صفحه‌نمایش مطابق با آن به‌روزرسانی می‌شود.

ویجت لغزنده (Slider widget)

یک slider اجازه می‌دهد کاربران درون بازه‌ای از مقادیر به‌راحتی حرکت کنند، مانند بالا یا پایین کردن کنترل صدا

  • قبل از کدی که app رابط کاربری گرافیکی شمارا می‌سازد، تابعی را که زمانی که slider حرکت می‌کند فراخوانده می‌شود را بنویسید.

def change_text_size(slider_value): welcome_message.font_size(slider_value)

این تابع پارامتری دارد به نام slider-value، زمانی که slider حرکت می‌کند، مقدار کنونی slider به‌صورت خودکار به تابع فرستاده می‌شود؛ بنابراین ما باید به آن اسمی دهیم. ما این پارامتر را slider-value می‌نامیم. کد درون تابع، font_size مربوط به welcome-message را به‌عنوان مقدار slider تنظیم می‌کند.

  • ویجت slider را به جمله ورودی اضافه کنید.
  • Slider را با استفاده از دستور زیر به GUI اضافه کنید:

 text_size = Slider(app, command=change_text_size, start=10, end=80)

command تابعی است که زمانی که slider حرکت می‌کند فراخوانده می‌شود (تابعی که ما اکنون ایجاد کردیم). Start و end مقدارهایی را برای بیشترین و کمترین مقداری که slider می‌تواند داشته باشد را مشخص می‌کنند. ما این مقادیر را مشخص می‌کنیم تا فونت بیش‌ازحد بزرگ یا کوچک نشود.

  • کمترین مقدار 10pt و بزرگ‌ترین مقدار 80pt است.
  • کد خود را ذخیره کرده و F5 را برای اجرای آن فشار دهید. Slider را به اطراف حرکت دهید و ببینید که اندازه متن تغییر می‌کند.

slider-display

ویجت عکس (Picture widget)

تازمانیکه فرمت عکس‌ها GIF باشد، شما می‌توانید یک عکس به GUI خود اضافه کنید. متأسفانه گیفهای انیمیشنی تنها به‌صورت ساکن نمایش داده می‌شوند.

  • عکسی را در فرمت گیف که مایلید آن را استفاده کنید پیدا کنید و یا اینکه عکس هیجان‌انگیزی را در فرمت گیف ذخیره کنید. عکس را در یک فولدر مشابه فایل gui-test.py پایتون خود ذخیره کنید.
  • ویجت عکس را به جمله ورودی خود وارد کنید
  • عکس را با استفاده از دستور زیر به GUI اضافه کنید.

my_cat = Picture(app, image="cat.gif")

  • F5 را برای اجرای کد خود بفشارید. شما باید ببینید که عکستان در GUI پدیدار می‌شود.

picture

بنابراین تا به اینجای آموزش با واردکردن انواع ویجت‌های ساده در GUI آشنا شدیم. برای مطالعه ادامه آموزش می‌توانید به آموزش "شروع کار با رابط کاربری گرافیکی (GUI) در رسپبری‌پای با پایتون (قسمت سوم)" مراجعه کنید.

 

نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...

 


ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت projects.raspberrypi.org

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

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

نظرات (0)

هیچ نظری در اینجا وجود ندارد

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

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

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

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

Copyright © 2017-2018 | Sanatbazar.com