رابط کاربری گرافیکی (GUI)
پایتون گزینههای مختلفی را برای توسعه رابط کاربری گرافیکی (GUI) ارائه میدهد. مهمترین آنها به شرح زیر است:
رابطهای فراوان دیگری هم وجود دارند که با جستجو در اینترنت میتوانید به آنها دسترسی بیابید.
Tkinter
Tkinter کتابخانه گرافیکی استاندارد پایتون است. با استفاده از Tkinter در پایتون، میتوانید خیلی سریع و آسان برنامههای گرافیکی ایجاد نمایید. Tkinter رابط شیء گرای قدرتمندی را برای بسته گرافیکی Tk ارائه میدهد. ایجاد برنامه گرافیکی با استفاده از Tkinter کار راحتی است. همه کاری که باید انجام بدهید شامل مراحل زیر است:
به مثال زیر توجه کنید:
import tkinter top = tkinter.Tk() # Code to add widgets will go here... top.mainloop()
این تکه کد پنجرهای به شکل زیر ایجاد خواهد کرد:
کنترلهای Tkinter
Tkinter کنترلهای مختلفی مانند button ،label و text box را برای استفاده در برنامههای گرافیکی فراهم کرده است. معمولاً به این کنترلها، عنصر یا widget می گویند، ولی ما در این سری آموزشی به آنها کنترل می گوییم. در حال حاضر 15 نوع کنترل در Tkinter وجود دارد که در جدول زیر لیست آنها را مشاهده میکنید:
کنترل | شرح |
Button | برای نمایش دکمهها در برنامه گرافیکی استفاده میشود. |
Canvas | برای کشیدن شکلهای مختلف مانند: خطوط، دایره، چند ضلعی و مستطیل در برنامه استفاده میشود. |
Checkbutton | برای نمایش چند انتخاب به صورت check box است. کاربر میتواند چند گزینه را همزمان انتخاب کند. |
Entry | نمایش جعبه یک خطی برای دریافت متن از کاربر |
Frame | به عنوان یک نگهدارنده و مرتب کننده دیگر کنترلها استفاده میشود. |
Label | برای نمایش عنوان تک خطی برای دیگر کنترلها استفاده میشود. همچنین میتواند تصویر را نیز نمایش دهد. |
Listbox | لیستی از گزینهها را برای کاربر مهیا میکند. |
Menubutton | برای نمایش منو در برنامه استفاده میشود. |
Menu | دستورات مختلفی را برای کاربر فراهم میکند. این دستورات درون Menubutton ها قرار گرفتهاند. |
Message | برای نمایش فیلدهای متنی چند خطی، به منظور دریافت ورودی از کاربر استفاده میشوند. |
Radiobutton | تعدادی گزینه را به صورت دکمههای رادیویی نمایش میدهد. کاربر تنها یک گزینه را میتواند انتخاب کند. |
Scale | برای نمایش کنترل slider استفاده میشود. |
Scrollbar | برای اضافه کردن امکان اسکرول به کنترلها مختلف از قبیل listbox ها استفاده میشود. |
Text | برای نمایش متن چند خطی استفاده میشود. |
Toplevel | امکان قرار گرفتن و نمایش چند پنجره مجزا را در یک برنامه فراهم میکند. |
Spinbox | نوع دیگری از entry است که امکان انتخاب از میان چند گزینه ثابت را فراهم میکند. |
PanedWindow | به عنوان نگهدارنده کنترلها دیگر استفاده میشود و میتواند آنها را به صورت افقی یا عمودی مرتب کند. |
LabelFrame | یک نگهدارنده ساده است که هدف اولیه آن به عنوان جدا کننده یا دربرگیرنده کنترلها دیگر میباشد. |
tkMessageBox | برای نمایش پنجرههای پیام به کاربر استفاده میشود. |
صفات استاندارد کنترلها
کنترلهای TKinter دارای صفاتی هستند که با استفاده از آنها می توان، اندازه، رنگ و فونت و … کنترل را مشخص کرد. در زیر به این صفات اشاره شده است:
- Dimensions
- Colors
- Fonts
- Anchors
- Relief styles
- Bitmaps
- Cursors
چیدمان کنترلها
همه کنترلها Tkinter به توابع خاصی برای مشخص کردن نحوه چیدمان عنصر دسترسی دارند. هدف این توابع مرتب کردن کنترلها بر روی عنصر والد (دربرگیرندهشان) است. Tkinter سه تابع زیر را برای این منظور ارائه میدهد:
- ()pack: این تابع کنترلها را قبل از قرار گرفتن بر روی فرم والدشان، درون بلوکهایی قرار میدهد.
- ()grid: این تابع کنترلها را در ساختارهایی شبیه به جدول بر روی فرم والد مرتب میکند.
- ()place: این تابع کنترلها را در موقعیت مشخصی بر روی فرم والد قرار میدهد.
در درس های آینده در مورد موارد ذکر شده در این درس به طور کامل توضیح می دهیم.
سلام، ببخشید چجوری باید یه IntVar رو به یه int تبدیل کنیم که بتونیم راحت روش محاسبه انجام بدیم؟
ممنون از اموزشتان
یک سوال دارم
چگونه میشود تکست باکس یا کادر متنی درست کرد؟؟؟؟
سلام، تو در درس های بعدی توضیح دادم
آموزش بسیار روان و عام فهم
موفق باشید.
تشکر
زور نزنی یه وقت. آدرس گوگل ترانسلیتو داریم خودمون
ممنون اما این کتابخانه لااقل در محیط spyder پیشفرض نیست و می بایست دانلود و نصب شود…