آموزش کتابخانه ی pymsgbox در پایتون :: Mr Python | مستر پایتون

آموزش کتابخانه ی pymsgbox در پایتون

  • ۷۴۷

آموزش کتابخانه ی pymsgbox در پایتون

درود به همه !

سلام میکنم خدمت تمام شما دوستان عزیز . خوب هستین ؟ بله باز برگشتیم با یه پست دیگه :) . میخوایم کتابخونه ی کاربردی pymsgbox رو یاد بگیریم . با استفاده از این کتابخونه میتونیم message box های مختلفی رو برای کاربر نشون بدیم . مثلا ممکنه بخواید یه جعبه گرافیکی حاوی یک پیام مشخص به کاربر نشون بدید یا مثلا جایی از برنامتون بخواید یک متن یا یک پسوورد رو به صورت گرافیکی از کاربر بگیرید . اینجور کارها با این کتابخونه به سادگی قابل انجامه . پس تا آخر این پست همراه ما باشید :))

 

در ابتدا باید کتابخانه را نصب کنیم . برای اینکار مثل همیشه از ابزار pip استفاده میکنیم : 

نصب pymsgbox در لینوکس :

MrPython@debian:~$ sudo pip3 install pymsgbox

نصب pymsgbox در ویندوز :

C:\> pip install pymsgbox

 

به طور کلی این کتابخانه توسط توابع اش میتواند برای ما 4 نوع message box تولید کند :

1 - alert : این نوع message box برای نمایش یک پیغام به کاربر به کار میرود . تصویر یک نمونه از این message box را در زیر میبینید : 

از طریق فراخوانی تابع pymsgbox.alert میتوانیم این نوع message box را ایجاد کنیم .

ورودی های تابع alert :

  • text : این آرگومان مشخص کننده ی پیغامی است که به کاربر نمایش داده میشود
  • title : این آرگومان عنوان پنجره پیغام را مشخص میکند
  • timeout : این آرگومان به طور پیشفرض برابر مقدار None است ولی مشخص کننده ی زمان باز ماندن پنجره پیغام است . با مقدار پیشفرض پنجره همیشه و تاوقتی که کاربر آن را نبندد باز میماند ولی میتوان عددی را به واحد میلی ثانیه برای آن مشخص کرد تا پس از گذر زمان مشخصی پنجره پیغام به طور خودکار بسته شود . برای مثال اگر این آرگومان را برابر 5000 قرار دهید . پیغام نمایش داده میشود و بعد از 5 ثانیه بسته میشود .
  • button : این آرگومان یک رشته (string) میگیرد و آن مشخص کننده ی نام دکمه ی تایید پیغام است . مقدار این آرگومان به طور پیشفرض برابر متن "OK" است . 

خروجی تابع alert : مقدار آرگومان button یا همان اسم دکمه ی تایید پیغام را بر میگرداند . برای مثال به طور پیشفرض مقدار OK را برمیگرداند .

 

مثال : برنامه ای که پس از اجرا عبارت mrpython.blog.ir را به کاربر نشان دهد : 

from pymsgbox import alert
text = "mrpython.blog.ir"
title = "title of msgbox"
alert(text = text , title = title)

 

2 - confirm : این نوع message box برای تایید کردن یک مورد توسط کاربر یا پرسیدن یک سوال دو گزینه ای مثل YES/NO از کاربر به کار میرود . تصویر : 

از طریق فراخوانی تابع pymsgbox.confirm میتوانیم این نوع message box را ایجاد کنیم .

 

ورودی های این تابع : همانند ورودی های alert است به جز یک مورد و آن هم آرگومان buttons که جایگزین همان button در مورد قبلی است . اگر یادتان باشد در مورد قبلی یعنی تابع alert ، آرگومان button مشخص کننده ی اسم دکمه ی تایید پیام بود . اما در این مورد یعنی تابع confirm ما دو دکمه داریم . بنابراین آرگومان buttons دیگر یک رشته نمیگیرد بلکه یک tuple دو عضوی میگیرد که اولین عضو مشخص کننده ی نام دکمه ی اول (برای مثال YES) و عضو دوم مشخص کننده ی نام دکمه ی دوم (برای مثال NO) است . مقدار پیشفرض این آرگومان ، ("OK" , "Cancel") است . 

 

خروجی تابع : این تابع نام دکمه ای که کاربر روی آن کلیک کرده است را بر میگرداند . 

 

مثال : برنامه ای که از کاربر بپرسد ? Are you OK .

from pymsgbox import confirm
text = "Are You OK ? "
title = "title of msgbox"
output = confirm(text = text , title = title , buttons = ("YES" , "NO"))
if output == "YES":
    print("you are ok :)")
elif output == "NO":
    print("you are not ok :(")

 

3 - prompt : این نوع message box برای گرفتن یک متن یا رشته از کاربر به کار میرود .  تصویر : 

از طریق فراخوانی تابع pymsgbox.prompt میتوانیم این نوع message box را ایجاد کنیم . 

ورودی های تابع prompt : 

  • text : مشخص کننده ی متن پرسش 
  • title : مشخص کننده ی عنوان پنجره
  • default : متن پیشفرض موجود در textbox
  • root : اگر برنامه ای گرافیکی نوشته اید که شامل یک پنجره اصلی کتابخانه ی tkinter است ، میتوانید شیء آن پنجره اصلی تان را به این آرگومان بدهید تا این message box در حالت زیر مجموعه ی همان پنجره اصلی باشد و نمایش داده شود . 
  • timeout : مانند موارد قبلی مشخص کننده ی زمان باز ماندن پنجره است . 
  •  

خروجی تابع : این تابع مقداری که کاربر در آن وارد کرده است را به صورت string یا رشته بر میگرداند. 

 

مثال : برنامه ای که یک عدد از کاربر گرفته و بگوید که زوج است یا فرد .

from pymsgbox import prompt
text = "Enter a number : "
title = "Even or Odd"
output = prompt(text = text , title = title)

output = int(output)
if output % 2 == 0:
    print("Even")
elif output % 2 == 1:
    print("Odd")

 

4 - password : این نوع message box برای وارد کردن پسوورد توسط کاربر به کار میرود . تصویر : 

از طریق فراخوانی تابع pymsgbox.password میتوانیم این نوع message box را ایجاد کرد . 

ورودی های این تابع : این تابع ورودی هایش همان ورودی های تابع prompt است . فقط یک آرگومان اضافه تر دارد و آن هم mask است . این آرگومان مشخص کننده ی  کاراکتری است که به جای کاراکتر های پسوورد قرار میگیرد که به صورت پیشفرض علامت "*" است . گاهی اوقات از علامت "●" نیز استفاده میشود . 

 

خروجی تابع : این تابع پسووردی که کاربر وارد کرده است را در قالب یک رشته (string) برمیگرداند .

مثال : برنامه ای که یک پسوورد از کاربر بپرسد و اگر برابر 123456 بود حاصل 2 + 2 را چاپ کند .

from pymsgbox import password
text = "Enter your password : "
title = "Password"
output = password(text = text , title = title , mask = "●")

if output == "123456":
    print(2 + 2)
else:
    print("Wrong Password !")

 

 

این ها چکیده ای کاربردی از داکیومنشن کتابخانه ی pymsgbox بود . برای اطلاعات بیشتر میتوانید به داکیومنشن اصلی کتابخانه مراجعه فرمایید . 

امیدوارم لذت برده باشید . سوالی بود مطرح کنید :)

 

یا حق !

Telegram Channel : @mrpythonblog

  • یه احساس مشکوکی بهم میگه کتابخونه از tkinter استفاده کرده😂😂 ولی دوباره عالی

    (اسپویلر: ولی راست گفتم اگه به آیکون برنامه نگاه کنین لوگو tkinter رو میبینین. ولی بنفع ما توی pyinstaller دردسر کمتر میکشیم)

    ولی یه ایده آموزش tkinterhtml هم بزار (محیط گرافیکی پیشرفته)

    پاسخ:
    درود .
    حست درسته 😁 . اره بر پایه tkinter پیاده شده واقعا .
  • جالب بود.

    پاسخ:
    درود . مچکرم :)
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی