این ابزار ساده مقدمه ای عالی برای چارچوب Tkinter GUI است.
غلطگیر املا ابزاری حیاتی برای کمک به بهبود دقت ارتباطات نوشتاری شماست. هنگام نوشتن، به راحتی می توانید غلط املایی یا غلط املایی را که یک غلط یاب املا به راحتی برای شما تشخیص می دهد، نادیده بگیرید. این نه تنها باعث صرفه جویی در زمان و تلاش می شود، بلکه به شما کمک می کند تا از اشتباهات شرم آور جلوگیری کنید.
شما به راحتی می توانید یک برنامه رابط کاربری گرافیکی ایجاد کنید که در آن می توانید یک کلمه را تایپ کنید و املای تصحیح شده آن را با استفاده از ماژول Tkinter پایتون دریافت کنید. Tkinter ویجت های قابل تنظیم شگفت انگیزی را ارائه می دهد که توسعه را آسان و سرگرم کننده می کند.
ماژول Tkinter و Spell Checker
کتابخانه پیش فرض رابط کاربری گرافیکی پایتون Tkinter نام دارد. شما می توانید برنامه های گرافیکی باورنکردنی با Tkinter ایجاد کنید. شما ممکن است یک ماشین حساب ساده، یک برنامه لیست کارها، ویرایشگر متن، پخش کننده موسیقی یا بازی مسابقه بسازید. شما می توانید از Python و Tkinter برای ایجاد برنامه های دسکتاپ ساده استفاده کنید و دانش خود را در عین پیشرفت مهارت های برنامه نویسی خود به کار ببرید.
برای نصب Tkinter در سیستم خود، ترمینال را باز کرده و اجرا کنید:
pip install tkinter
ماژول دیگری که در این پروژه بسیار استفاده خواهید کرد ماژول Spell Checker است. کار پیتر نورویگ اساس این ماژول را تشکیل می دهد. از الگوریتم فاصله Levenshtein برای یافتن جایگشت ها در لیست فرکانس کلمات استفاده می کند. سپس فرض میکند که هرچه فراوانی کلمه بیشتر باشد، املای صحیح آن بیشتر است.
برای نصب ماژول غلط گیر املا، دستور زیر را اجرا کنید:
pip install pyspellchecker
چگونه با استفاده از پایتون یک برنامه تصحیح املا بسازیم
این مراحل را برای ساختن یک تصحیح کننده املای رابط کاربری گرافیکی با استفاده از پایتون دنبال کنید.
این کد نمونه در این موجود است
مخزن GitHub
و استفاده از آن تحت مجوز MIT برای شما رایگان است.
منطق و عملکرد زیربنایی را پیاده سازی کنید
اولین قدم وارد کردن Tkinter و کلاس SpellChecker از ماژول spellchecker است. یک نمونه از SpellChecker ایجاد کنید و آن را در متغیری به نام اصلاح کننده ذخیره کنید.
from tkinter import *
from spellchecker import SpellChecker
corrector = SpellChecker()
تابعی به نام clearAll() تعریف کنید که داده های نمایش داده شده در فیلد ورودی را پاک می کند. برای رسیدن به این هدف، از تابع delete() برای حذف تمام ورودیها از 0 تا آخرین فهرست در هر دو فیلد ورودی، word1_field و word2_field استفاده کنید.
def clearAll():
word1_field.delete(0, END)
word2_field.delete(0, END)
تابع دیگری به نام correction() تعریف کنید که یک کلمه را از فیلد ورودی اول می خواند و املای صحیح آن را به دومی اضافه می کند. از متد get() در word1_field استفاده کنید تا مقدار آن را به صورت رشته بدست آورید. این کلمه بازیابی شده را به تابع correction() ارسال کنید، سپس ویجت word2_field را قبل از استفاده از روش insert() برای درج کلمه تصحیح شده در ابتدای فیلد پاک کنید.
def correction():
input_word = word1_field.get()
corrected_word = corrector.correction(input_word)
word2_field.delete(0, END)
word2_field.insert(0, corrected_word)
رابط کاربری را ایجاد کنید
نمونه Tkinter را راه اندازی کنید و پنجره ریشه را نمایش دهید. از متد configure() استفاده کنید و رنگ پس زمینه پنجره را روی رنگ دلخواه خود مانند aqua قرار دهید. با استفاده از روش geometry() ابعاد پنجره را 900 پیکسل عرض و 450 پیکسل ارتفاع قرار دهید. همچنین عنوان پنجره مناسب را تنظیم کنید.
root = Tk()
root.configure(background='aqua')
root.geometry("900x450")
root.title("Spellings Corrector")
از ویجت های برچسب برای نمایش اطلاعات مفید در مورد برنامه استفاده کنید. سازنده یک پنجره والد را می پذیرد که می خواهید آن را در آن قرار دهید، متنی که باید نمایش داده شود، رنگ فونت، رنگ پس زمینه و اندازه فونت.
headlabel = Label(root, text='Spellings Corrector', fg='white', bg="blue", font=10)
label1 = Label(root, text="Input Word", fg='black', bg='violet', font=10)
label2 = Label(root, text="Corrected Word", fg='black', bg='violet', font=10)
Grid یک مدیر هندسه است که ویجت ها را در یک جدول دو بعدی سازماندهی می کند. شما می توانید طرحی از پنج سطر و دو ستون را تصور کنید.
هر برچسب را در یک ردیف و ستون مناسب قرار دهید، به یاد داشته باشید که شاخص های آنها از صفر شروع می شود. می توانید از padding برای تراز کردن ویجت های خود استفاده کنید. در این مثال، label2 دارای یک لایه 100 پیکسلی در امتداد محور X است.
headlabel.grid(row=0, column=1)
label1.grid(row=1, column=0)
label2.grid(row=3, column=0, padx=100)
دو ویجت ورودی را تعریف کنید، یکی برای ورودی و دیگری برای تصحیح. اندازه فونت هر دو ویجت را روی 10 تنظیم کنید. ویجت ورودی با غلط املایی را در ردیف دوم و ستون دوم، با 100 در امتداد محور X و 50 در امتداد محور Y تنظیم کنید. همین کار را برای ویجت ورودی تصحیح شده انجام دهید، اما آن را در ردیف چهارم قرار دهید.
word1_field = Entry(font=10)
word2_field = Entry(font=10)
word1_field.grid(row=1, column=1, padx=100, pady=50)
word2_field.grid(row=3, column=1, padx=100, pady=50)
از ویجت Button() برای ایجاد دو دکمه استفاده کنید: Correction و Clear. در پنجره ریشه بهعنوان مالک، برچسب دکمه را بهعنوان رشته، رنگ پسزمینه بهعنوان نارنجی، رنگ فونت بهعنوان سیاه، و اندازه قلم را بهعنوان 8 ارسال کنید. میتوانید با استفاده از آرگومان فرمان، نام تابع را در اینجا وارد کنید. این زمانی که کاربر روی دکمه کلیک کند اجرا می شود.
هر دکمه را در یک ردیف و ستون مناسب قرار دهید.
button1 = Button(root, text="Correction", bg="orange", fg="black", font=8, command=correction)
button1.grid(row=2, column=1),
button2 = Button(root, text="Clear", bg="orange", fg="black", font=8, command=clearAll)
button2.grid(row=4, column=1)
تابع mainloop() به پایتون می گوید که حلقه رویداد Tkinter را اجرا کند و به رویدادها (مانند فشار دادن دکمه ها) گوش دهد تا زمانی که پنجره را ببندید:
root.mainloop()
همه این کدها را کنار هم قرار دهید و برنامه را اجرا کنید تا برنامه تصحیح املای خود را در حال اجرا مشاهده کنید.
خروجی برنامه تصحیح املا
وقتی این برنامه را اجرا می کنید، باید یک پنجره کوچک با رنگ پس زمینه آبی ببینید. یک کلمه با غلط املایی را در قسمت ورودی اول وارد کنید، سپس دکمه تصحیح را فشار دهید. باید ببینید املای صحیح در قسمت متن دوم ظاهر می شود. می توانید از دکمه Clear برای بازنشانی هر دو فیلد متنی استفاده کنید.
چارچوب های رابط کاربری گرافیکی پایتون برای توسعه دهندگان
چارچوب های رابط کاربری گرافیکی پایتون یک منبع فوق العاده برای توسعه دهندگان است. شما می توانید به سرعت یک برنامه کاربردی با رابط کاربری گرافیکی جذاب و مفید بسازید. برخی از فریم ورک هایی که می توانید استفاده کنید، به غیر از Tkinter، عبارتند از Qt designer، Kivy، Toga و BeeWare. با استفاده از این چارچوبها، میتوانید هر چیزی از برنامههای کاربردی کوچک گرفته تا محصولات کاملاً کاربردی بسازید.
با پایتون، یک مزیت اضافی به دست می آورید. از آنجایی که چارچوبهای رابط کاربری گرافیکی پایتون از توسعه چند پلتفرمی پشتیبانی میکنند، میتوانید از کدهای مشابه در سیستمعاملهای مختلف استفاده کنید. با تمام این ویژگی ها و بسیاری دیگر، پایتون به عنوان یک زبان ایده آل برای ایجاد رابط های کاربری گرافیکی با افزایش قابلیت اطمینان و کاهش هزینه ها ظاهر شده است.