تا به اینجای کار در آموزش "شروع کار با رابط کاربری گرافیکی (GUI) در رسپبریپای با پایتون (قسمت اول)", متوجه شدیم که GUI چیست و چگونه میتوان آن را با استفاده از زبان پایتون در رسپبریپای (رزبریپای) ایجاد کرد. سپس، نحوه ایجاد ویجتها را یاد گرفتیم و با اضافه کردن ویجت متنی آموزش دنبال شد. در ادامه، با ویجتهای دیگر کار را دنبال میکنیم.
ویجت جعبه متنی (TextBox widget)
ویجت جعبه متنی برای این استفاده میشود که به کاربر اجازه دهد دادهها را تایپ کند- کمی شبیه تابع input() که قبلاً در ورژن GUI استفاده کردهاید است. در اینجا نشان داده میشود چگونه یک ویجت جعبه متنی اضافه کنیم:
- ویجت جعبه متنی را به جمله ورودی خود اضافه کنید.
- با دستور زیر یک ویجت جعبه متنی به GUI اضافه کنید.
my_name = TextBox(app)
- کد خود را با فشردن F5 اجرا کنید. شما باید ببینید که یک جعبه متنی کوچک ظاهر میشود. یک کلمه کلیدی پارامتر "width" وجود دارد که شما میتوانید اگر جعبه عریضتری خواستید اضافه کنید از آن استفاده کنید.
ویجت دکمهای (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 را برای اجرای برنامه فشار دهید. نام خود را درون جعبه بنویسید و دکمه را بفشارید. شما باید نام خود را ببینید که در متن بزرگ در بالا نمایش داده میشود.
اکنون شما اساس اینکه حلقه رویداد (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 را به اطراف حرکت دهید و ببینید که اندازه متن تغییر میکند.
ویجت عکس (Picture widget)
تازمانیکه فرمت عکسها GIF باشد، شما میتوانید یک عکس به GUI خود اضافه کنید. متأسفانه گیفهای انیمیشنی تنها بهصورت ساکن نمایش داده میشوند.
- عکسی را در فرمت گیف که مایلید آن را استفاده کنید پیدا کنید و یا اینکه عکس هیجانانگیزی را در فرمت گیف ذخیره کنید. عکس را در یک فولدر مشابه فایل gui-test.py پایتون خود ذخیره کنید.
- ویجت عکس را به جمله ورودی خود وارد کنید
- عکس را با استفاده از دستور زیر به GUI اضافه کنید.
my_cat = Picture(app, image="cat.gif")
- F5 را برای اجرای کد خود بفشارید. شما باید ببینید که عکستان در GUI پدیدار میشود.
بنابراین تا به اینجای آموزش با واردکردن انواع ویجتهای ساده در GUI آشنا شدیم. برای مطالعه ادامه آموزش میتوانید به آموزش "شروع کار با رابط کاربری گرافیکی (GUI) در رسپبریپای با پایتون (قسمت سوم)" مراجعه کنید.
نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...
ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت projects.raspberrypi.org
نظرات (0)