:) یه کلاس هفتمی D:
پایتونستان-مینی پروژه یک برنامه GUI-قسمت یکم
سلاممممممممم من سیدمهدی موسویانم و میخوایم مینی پروژه رو ادامه بدیم. قرار بود که برنامه ما بره و زمان رو از وبسایت تایم دات آی آر بگیره و به ما ما نشون بده و هر وقت که دکمه رفرش رو زدیم زمان رو بروز کنه و یه دکمه خروج هم داشته باشه. توی این قسمت ما رابط گرافیکی برنامه رو تا یه حدی میسازیم. کار خاصی هم نمیکنه فعلا.
اول کتابخونه رابط گرافیکی مورد نظر رو ایمپورت میکنیم:
import easygui as gui
از این به بعد کتابخونه مون رو با نام gui صدا میزنیم.
حالا باید یه صفحه درست کنیم که دوتا دکمه داشته باشه. برای اینکار ما دوتا تابع داریم.
gui.ynbox()
و
gui.buttonbox()
تابع بالایی(ynbox) یه پنجره باز میکنه که فقط توش دوتا دکمه هست که یکیشون مقدار True یا 1 و اونیکی هم مقدار False یا 0 رو برمیگردونه که بطور پیشفرض 0 و 1 هست که توی if ها از ترو و فالس هم میتونید استفاده کنید. فرقی نداره.
تابع پایینی(buttonbox) هم مثل تابع بالایی هست. با این تفاوت که میتونید بینهایت دکمه توش بزارید و متن دکمه ای که کاربر زده رو بر میگردونه. ما از این یکی استفاده میکنیم.
هر دوی این تابع ها سه تا آرگومان میگیرن. تیتر، متن و دکمه ها. همیشه آرگومان اول متن هست، آرگومان دوم تیتر و آرگومان سوم هم دکمه ها. دکمه ها باید به صورت تاپل یا لیست باشند. ما از تاپل استفاده میکنیم.
بعد از ایمپورت، میایم و سه تا متغیر برای این سه تا آرگومان تعریف میکنیم:(شما میتونید بصورت مستقیم هم ازشون استفاده کنید)
title ='Time program' #تیتر
caption ='chert' #متن
buttons =('Refresh','Exit') #دکمه ها
کپشن مون فعلا چرته?? بعدا به ساعت تبدیل میشه. حالا باید پنجره مون رو بسازیم و همونطور که گفتیم از تابع buttonbox استفاده میکنیم:
gui.buttonbox(caption, title, buttons)
کدمون فعلا این شکلیه:
import easygui as gui
title ='Time program'
caption ='chert'
buttons =('Refresh','Exit')
gui.buttonbox(caption, title, buttons)
و بعد از اجرا همچین پنجره ای باز میشه:
اینم از برنامه ما? الان هیچکدوم از دکمه ها کاری نمیکنن. ولی ما مجبورشون میکنیم که کار کنن??
به پایان آمد این پایتونستان، مینی پروژه همچنان باقیست??
توی قسمت بعد انجام میدهیم:
حلقه اصلی
کاربردی کردن دکمه ها
مطلبی دیگر از این انتشارات
برنامه نویسی چند نخی (Multi-Thread) در Python
مطلبی دیگر از این انتشارات
چرا نباید در لوپ await وجود داشته باشد
مطلبی دیگر از این انتشارات
دستورات psql ای