Tkinter یکی از کتابخانههای پایتون است که برای ساخت رابط کاربری گرافیکی به کار برده میشود. این کتابخانه به صورت پیشفرض و همراه با پایتون بر روی سیستم نصب میشود. یعنی اینکه Tkinter یکی از ماژولهای «درونی» (Built In) پایتون است. اما شاید به دلایل مختلفی نسخه همراه با پایتون خراب شده یا حتی قابل استفاده نباشد. در این مطلب برای آموزش نصب Tkinter در پایتون تکنیکهای ساده و متنوعی را توضیح دادهایم. هر توسعهدهندهای برای ساخت برنامههای گرافیکی باید از یکی از ماژول مخصوص این کار استفاده کند. بهترین ماژول برای تمرین و آموزش، کتابخانه Tkinter است. بنابراین باید بتوانیم در صورت وجود هر مشکلی این ابزار را به صورت دستی نصب کنیم.

در این مطلب از مجله فرادرس، روشهای مختلف نصب Tkinter در پایتون را آموزش دادهایم. ابتدا این روشها را بر روی سیستم عاملهای مختلف توضیح دادیم. سپس مثال سادهای را هم درباره استفاده از Tkinter و ساخت اپلیکیشن مدیریت پسورد پیادهسازی کردیم.
آموزش نصب Tkinter در پایتون بر روی ویندوز
در صورتی که به هر دلیلی Tkinter بر روی کامپیوترمان نصب نشده بود. راحتترین کار این است که دوباره پایتون را از وبسایت رسمی آن دانلود کرده و بر روی سیستم خود نصب کنیم.
- جدیدترین نسخه پایتون را از سایت (+) دانلود کنید.
- در زمان نصب حتما توجه کنید که گزینه « Tcl/Tk and IDLE» هم انتخاب شده باشد.
روش دیگر استفاده از pip در پایتون است. برخی کاربران ترجیح میدهند که همه پکیجها را با pip مدیریت کنند. با اینکه Tkinter یکی از ماژولهای پیشفرض و درونی پایتون است، باز هم میتوان آن را با کمک pip بر روی سیستم نصب و بهروزرسانی کرد.

آموزش نصب Tkinter در پایتون با کمک pip
ابتدا باید «خط فرمان» (Command Promp) ویندوز را باز کنیم. سپس با نوشتن دستور زیر و زدن دکمه اینتر، ماژول Tkinter به صورت خودکار بر روی پایتون نصب میشود.
pip install tk
این کد تمام بستههای نرمافزاری مورد استفاده توسط «Tk» را بر روی پایتون نصب میکند. این ابزارها همان کتابخانه Tkinter هستند. بعد از به پایان رسیدن فرایند نصب، پیغام زیر، نمایش داده میشود.
C:UsersFaradars>pip install tk Collecting tk Using cached tk-0.1.0-py3-none-any.whl (3.9 kB) Installing collected packages: tk Successfully installed tk-0.1.0
برای اطمینان از موفقیتآمیز بودن فرایند نصب باید از تابع tk._test() استفاده کنید.
به این منظور، کافیست که مانند کادر زیر، کد را در فایل پایتونی نوشته و اجرا کنید.
بعد از اجرای کد بالا، خروجی به شکل زیر تولید شده و بر روی صفحه نمایش، ظاهر میشود.

نصب Tkinter در ویندوز برای کابران آناکوندا
کاربران آناکوندا هم میتوانند پنجره «پاور شل آناکوندا» (Anaconda Power Shell) را باز کرده و با دستور زیر Tkinter را بر روی سیستم خود نصب کنند.
conda install -c anaconda tk
بعد از اینکه عملیات نصب با موفقیت به پایان رسید، پیغام زیر نمایش داده میشود.
The following packages will be downloaded: package | build | size -------------|-------------------|----- conda-4.10.3 | py38haa95532_0 | 2.9 MB tk-8.6.10 | he774522_0 | 3.2 MB anaconda --------------------------------------------------- Total: 6.0 MB The following packages will be UPDATED: conda 4.10.1-py38haa95532_1 --> 4.10.3-py38haa95532_0 The following packages will be SUPERSEDED by a higher-priority channel: tk pkgs/main --> anaconda Proceed ([y]/n)? y Downloading and Extracting Packages conda-4.10.3 | 2.9 MB | ############################### | 100% tk-8.6.10 | 3.2 MB | ############################### | 100% Preparing transaction: done Verifying transaction: done Executing transaction: done
برای تایید عملیات نصب، کد زیر را اجرا کنید.
بعد از اجرای کد بالا، خروجی به شکل زیر تولید شده و بر روی صفحه نمایش ظاهر میشود.

چطور با فرادرس، پایتون یاد بگیریم؟
زبان پایتون، به خاطر انعطافپذیری و چندکاره بودن به یکی از محبوبترین زبانهای برنامه نویسی دنیا تبدیل شده است. فرایند یادگیری و استفاده از پایتون بسیار ساده است. در ضمن منابع و مستندات بسیار زیاد این زبان به یادگیری هرچه بهتر آن کمک میکند. فراگیری مهارت برنامه نویسی با پایتون به یکی از بهترین انتخابها برای رسیدن به شغلهایی مانند طراح وب، دانشمند داده، متخصص هوش مصنوعی و غیره تبدیل شده است. درحال حاضر بهترین مرجع یادگیری پایتون، فیلمهای آموزشی هستند. زیرا استفاده از این ابزار آموزشی نسبت به سایر منابع، مخصوصا در بحث برنامه نویسی و دیگر علوم کامپیوتری هم ارزانتر بوده و هم سریعتر است.

وبسایت فرادرس، مطالب و فیلمهای آموزشی زیادی در حوزههای مختلف تولید کرده است. زبان پایتون یکی از پرطرفدارترین فیلمهای آموزشی فرادرس است. به عنوان یکی از منابع مناسب برای شروع یادگیری این زبان برنامه نویسی، میتوان به مجموعه آموزش پایتون برای نوجوانان اشاره کرد. اگر درباره زبان پایتون، اطلاعات کمی دارید و علاقهمند به آموزش آن هستید پیشنهاد میکنیم که فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه را در فرادرس مشاهده کنید. در پایین فیلمهایی را معرفی کردهایم که برای شروع آموزش پایتون بسیار مفید هستند.
آموزش نصب Tkinter در پایتون بر روی لینوکس
در این بخش از مطلب به بررسی روش نصب Tkinter بر روی سیستم عامل لینوکس پرداختهایم. برنامههای رابط کاربری گرافیکی یا GUI به کاربر نهایی این امکان را میدهد تا با پنجره برنامه واقعی ارتباط برقرار کرده، روی آن کلیک کند و با آن تعامل داشته باشد.
در حالی که همه در مورد استفاده از پایتون برای یادگیری ماشین، علم داده یا توسعه وب صحبت میکنند، کمتر کسی به ایجاد ابزارهای رابط گرافیکی با اهداف تجاری و کاربردی توجه میکند. اما پایتون در این زمینهها هم حرفهایی برای گفتن دارد. در صورت تمایل به یادگیری حرفهای کتابخانه Tkinter پیشنهاد میکنیم که فیلم آموزش پروژه محور کتابخانه Tkinter در پایتون Python همراه با ارائه گواهینامه دو زبانه را از فرادرس مشاهده کنید. برای کمک به مخاطبان مجله، لینک این فیلم را در پایین نیز قرار دادهایم.
برای نصب Tkinter در سیستم عامل لینوکس مراحل زیر را قدم به قدم دنبال کنید.
- مرحله اول: ترمینال لینوکس را باز کرده و با توجه به نسخه لینوکس مورد استفاده یکی از کدهای زیر را اجرا کنید.
برای لینوکسهای بر پایه دبیان باید از کد زیر استفاده کنید.
sudo apt-get install python-tk
برای «لینوکسهای بر پایه آرک» (Arch-Based Linux) باید از کد زیر استفاده کنید.
sudo pacman -S tk
برای لینوکسهای بر پایه« فدورا» (Fedora) باید از کد زیر استفاده کنید.
sudo dnf install python3-tkinter
و برای لینوکسهای نسخه اوراکل، «CentOS» و «RHEL» باید از دستور زیر استفاده کنید.
sudo yum install -y tkinter tk-devel
- مرحله دوم: بعد از نوشتن هر کدام از دستورات بالا باید دکمه اینتر را فشار دهید. سیستم نام کاربری و رمز عبور سیستم عامل را درخواست میکند. بعد از آن هم از کاربر میخواهد که عملیات نصب را تایید کند. برای این کار باید «Y» را در ترمینال وارد کرده و دوباره دکمه اینتر را فشار دهیم.
- مرحله سوم: عملیات نصب در مرحله قبل به طور کامل انجام شده و به پایان میرسد. در این مرحله باید درستی نصب ماژول Tkinter را بررسی کنیم. به این منظور کد زیر را در ترمینال نوشته و اجرا میکنیم. این کد باعث میشود که پنجره پاپآپ باز شده و دو دکمه مختلف نشان دهد. در بالای این دکمهها نسخه Tkinter نصب شده بر روی کامپیوتر نوشته شده است.
python -m Tkinter
بعد از اجرای کد بالا، خروجی به شکل زیر تولید شده و بر روی صفحه نمایش ظاهر میشود.

نکته: متنی نشان شده با خط قرمز، شماره نسخه ماژول Tkinter را نشان میدهد. یعنی اینکه در اینجا Tkinter با نسخه ۸٫۶ بر روی سیستم نصب شده است.
پیاده سازی مثال با کمک Tkinter
بعد از بررسی مراحل مختلف آموزش نصب Tkinter در پایتون اکنون میخواهیم برنامهای برای مدیریت پسورد با ماژول Tkinter بنویسیم. برنامه «مدیریت کلمه عبور» (Password Manager) ابزاری است که برای ذخیره کردن کلمه عبور و نام کاربری به کار برده میشود.
در فهرست زیر، تمام کاربردهای مورد انتظار از این نرمافزار را یک به یک نوشتهایم.
- از این اپلیکیشن برای ذخیره اطلاعات به صورت جفت داده – پسورد و نام کاربری متناظر با آن – استفاده میکنیم.
- با استفاده از این نرمافزار باید بتوانیم اطلاعات ذخیره شده شامل نامهای کاربری و کلمههای عبور را بازیابی کنیم.
- گزینهای را هم تنظیم میکنیم که در صورت تمایل تنها با استفاده از یک کلیک تمام نامهای کاربری و رمزهای عبور را مشاهده کنیم.
- همچنین امکان حذف هر کدام از نامهای کاربری و کلمه عبور متناظر آنها را با کلیک بر روی یک دکمه فراهم میکنیم.
در ادامه مطلب تمام مراحل ساخت نرمافزار مدیریت پسورد را قدم به قدم توضیح دادهایم.
نصب ابزارهای مورد نیاز
قبل از شروع به انجام کار باید پایتون را بر روی سیستم خود نصب کرده باشیم. در این مطلب آموزشی از کتابخانه Tkinter استفاده خواهیم کرد. این کتابخانه همینطور که اشاره کردیم، همراه با پایتون بر روی سیستم نصب میشود. اما اگر به هر دلیلی نصب نشده بود یا برای استفاده در دسترس نبود، از تکینکهای آموزش داده شده در بخش قبلی استفاده کرده و آن را بر روی کامپیوتر نصب میکنیم.
ساخت محیط مجازی
قبل از هرکاری با استفاده از دستور زیر، «محیط مجازی» (Virtual Environment) خود را برای شروع پروژه ایجاد میکنیم.
python -m venv env
نوشتن کدهای برنامه با ماژول Tkinter
در این بخش از مطلب تمام مراحل نوشتن برنامه را یک به یک توضیح دادهایم.
مرحله اول نوشتن کدها برای دریافت کلمه عبور در برنامه
در کدهای زیر، تابع add() نام کاربری و کلمه عبوری که توسط کاربر در رابطه گرافیکی Tkinter وارد شدهاند را دریافت کرده و ذخیره میکند. این تابع بررسی میکند که اطلاعات وارد شده خالی نباشند. در صورت تایید اعتبار کلمه عبور و نام کاربری وارد شده، آنها را به فایل «passwords.txt» اضافه میکند.
توجه: منظور از تایید اعتبار، خالی نبودن فیلدهای نام کاربری و کلمه عبور است. این تابع ساده بوده و ویژگیهای بیشتری را بررسی نمیکند. در نتیجه فقط وقتی دادهها تایید اعتبار نمیشوند که هیچ کاراکتری در آنها نوشته نشده باشد.
سپس ماژول Tkinter با استفاده از «Messagebox» پیغامی را نشان میدهد که موفقیتآمیز بودن عمل ذخیرهسازی اطلاعات را به کاربر اعلام میکند.
مرحله دوم واکشی و نمایش رمز عبور
در کدهای زیر، تابع get() وظیفه واکشی اطلاعات مربوط به «نام کاربری» (Username) را دارد که توسط شخص استفاده کننده از برنامه به آن داده شده است. تابع get() برای انجام دادن اینکار باید اطلاعات را از فایل «passwords.txt» بخواند.

فرض میکنیم که فایل دیکشنری از نامهای کاربری و کلمههای عبور تشکیل دادهایم. اگر نام کاربری که وارد شده بود در این فایل وجود داشت، برنامه کلمه عبور متناظر با آن را به بیرون برمیگرداند. در غیر این صورت برنامه پیغام خطا برمیگرداند. در این پیغام به کاربر میگوید که نام کاربری مورد نظر در حافظه وجود ندارد.
مرحله سوم واکشی و نمایش تمام کلمات عبور
قبل از توضیح دادن این مرحله باید اشاره کنیم که کتابخانه Tkinter در پایتون مجموعهای تقریبا کاملی از ابزارها و ویجتها را برای ساخت اپلیکیشنهای دسکتاپ با رابط کاربری گرافیکی ارائه میدهد. در صورتی که تمایل دارید روش استفاده از این کتابخانه را با رعایت اصول استاندارد و به صورت ابتدایی بیاموزید، پیشنهاد میکنیم که از مطلب مربوط به آن در مجله فرادرس استفاده کنید.
درکادر زیر تابع getlist() را تعریف کردهایم. این تابع فایل passwords.txt را خوانده و دیکشنری از تمام جفتهای نامهای کاربری و کلمههای عبور ایجاد میکند. سپس messagebox را نمایش میدهد که شامل فهرست کاملی از تمام پسوردهای ذخیره شده است. اگر فایل خالی باشد پیغامی به کاربر نشان میدهد که میگوید هنوز هیچ نام کاربری به فهرست اضافه نشده است.
مرحله چهارم حذف کاربر و به روزرسانی فایل
در کدهای زیر، تابع delete() نام کاربری را به عنوان داده ورودی از کاربر تحویل میگیرد. سپس داخل فایل passwords.txt را برای یافتن نام کاربری مورد نظر جستوجو میکند. بعد از پیدا کردن داده خواسته شده آن را از فایل حذف میکند و در صورت نیاز، فایل passwords.txt را با دادههای جدید بهروزرسانی میکند. اگر عملیات حذف با موفقیت انجام شد، پیغام موفقیتآمیز و در غیر این صورت، پیغام خطا به کاربر، نمایش میدهد.
مرحله پنجم نصب و راه اندازی رابط کاربری گرافیکی Tkinter
کد زیر، بخش اصلی کدهای برنامه است. در این کدها پنجره رابط گرافیکی Tkinter را تعریف کردهایم.
ابعاد پنجره، تیتر و سایر مشخصات آن در کد زیر مشخص شدهاند. همچنین بخش مربوط به دادههای ورودی برای گرفتن نام کاربری و رمز عبور را هم در کدهای پایین تعریف کردهایم.

علاون بر موارد گفته شده، چهار دکمه مختلف را هم طراحی کردهایم.
- دکمه Add: این دکمه برای افزودن جفت نام کاربری و رمز عبور جدید به حافظه برنامه استفاده میشود.
- دکمه Get: از این دکمه برای واکشی کلمه عبور استفاده میشود.
- دکمه List: با کمک این دکمه تمام کلمههای عبور را به صورت فهرست نمایش میدهیم.
- دکمه Delete: این دکمه برای حذف کاربر به کار برده میشود.
نسخه کامل کدهای برنامه مدیریت پسورد
در کادر پایین، تمام کدهای مربوط به فایل «main.py» را به صورت کامل و یکجا نوشتهایم. با استفاده از کدهای زیر میتوانید این پروژه را بر روی سیستم خود پیادهسازی کنید.
چگونه با کمک فیلم های پروژه محور در فرادرس پایتون بیاموزیم؟
وبسایت فرادرس تقریبا در تمام حوزههای علمی، صنعتی، تحصیلی، تجاری و غیره فیلمهای آموزشی باکیفیتی تهیه کرده است. زبان برنامهنویسی پایتون هم یکی از محبوبترین و رایجترین زبانهای مورد استفاده در دنیاست. آموزش این زبان باعث میشود که فرصتهای شغلی زیادی در مقابل افراد قرار بگیرد. بنابراین فرادرس تلاش میکند تا همیشه بهترین فیلمهای آموزشی را درباره زبان پایتون تولید و منتشر کند. یکی از بهترین روشهای یادگیری برنامه نویسی، آموزش همراه با پیادهسازی پروژههای مورد استفاده در دنیای واقعی است. به این دلیل، فرادرس فیلمهای آموزشی پروژه محور زیادی در ارتباط با زبانهای برنامهنویسی مختلف از جمله پایتون تهیه کرده است.
در پایین، چند فیلم مربوط به آموزشهای پروژهمحور زبان پایتون را معرفی کردهایم.
در صورت تمایل با کلیک بر روی تصویر زیر میتوانید به صفحه اصلی این مجموعه آموزشی هدایت شده و فیلمهای پروژهمحور بیشتری را نیز تماشا کنید.

جمعبندی
در این مطلب از مجله فرادرس به آموزش نصب Tkinter در پایتون پرداختهایم. ابتدا روش نصب آن را بر روی سیستم عامل ویندوز توضیح دادیم. سپس انواع روشهای نصب آن را بر روی سیستمعاملهای پایه لینوکس نیز بررسی کردیم. در نهایت هم با کمک این کتابخانه پروژه کوچکی را پیادهسازی و اجرا کردهایم. البته این کتابخانه به صورت پیشفرض همراه با پایتون بر روی کامپیوتر نصب میشود. اما بعضی وقتها ممکن است که خراب شده یا فایلهای آن پاکشوند. به عنوان توسعه دهنده پایتون لازم است که بتوانیم خودمان کتابخانه Tkinter را دوباره نصب کرده و استفاده کنیم.
Tkinter یکی از سادهترین کتابخانههای پایتون برای پیادهسازی رابط کاربری گرافیکی است. البته المانهای گرافیکی این ماژول مدرن نیستند و معمولا در پروژههای تجاری استفاده کمی دارد. کتابخانههای گرافیکی پایتون بسیار متنوع و گسترده هستند. به همین دلیل بیشتر از گزینههای دیگر استفاده میشود. اما استفاده از Tkinter مخصوصا برای افراد تازهکار یکی از بهترین روشهای آموزشی است.
source