در این صفحه می‌خوانیم:

معرفی Tkinter

پایتون گزینه های مختلفی برای ایجاد رابط کاربری گرافیکی (GUI) فراهم می کند. یکی از مهم ترین گزینه های آن Tkinter نام دارد. بنابراین، Tkinter یک بسته رابط کاربری گرافیکی استاندارد برای پایتون می باشد.

نام Tkinter از واژه‌ی Tk interface نشات می‌گیرد. Tkinter توسط Fredrik Lundh نوشته شده است.  Tkinter یک نرم افزار رایگان تحت مجوز پایتون است.

Tkinter چیست؟

ماژول Tkinter ("رابط Tk") رابط استاندارد Python برای کیت ابزار Tk GUI از Scriptics (که قبلا توسط Sun Labs توسعه داده شد) می‌باشد. Tkinter تنها ابزار برنامه نویسی GUI برای پایتون نیست. با این وجود، پر کاربردترین آنها می باشد و از آن بیشتر استفاده می شود.

هم  Tk و هم Tkinter در اکثر سیستم عامل یونیکس و همچنین در سیستم های ویندوز و مکینتاش قابل استفاده هستند. از آغاز انتشار نسخه 8.0، Tk ظاهری بومی در تمامی سیستم عامل ها ارائه می دهد. Tkinter شامل تعدادی ماژول است. رابط Tk توسط یک ماژول افزونه باینری به نام _tkinter ارائه شده است. این ماژول حاوی رابط سطح پایین برای Tk است و هرگز نباید به طور مستقیم توسط برنامه نویسان استفاده شود. معمولا یک کتابخانه به اشتراک گذاشته شده (یا DLL) است، اما در بعضی موارد ممکن است با مترجم پایتون مرتبط باشد. رابط عمومی توسط تعدادی از ماژول های پایتون ارائه شده است. مهمترین ماژول رابط، خود ماژول Tkinter است.

برنامه نویسی با Tkinter

Tkinter کتابخانه استاندارد GUI برای پایتون است. پایتون، همراه با Tkinter، یک راه سریع و آسان برای ایجاد اپلیکیشن‌های GUI فراهم می‌کند. Tkinter رابط کاربری قدرتمند و شی گرایی برای Tk GUI toolkit به ارمغان می‌آورد. ایجاد یک اپلیکیشن GUI با استفاده از Tkinter یک کار آسان است. همه چیزهایی که باید انجام دهید این است که مراحل زیر را انجام دهید:

  • ماژول Tkinter را وارد کنید.
  • پنجره اصلی اپلیکیشن GUI را ایجاد کنید.
  • یک یا چند ویدجت را به اپلیکیشن GUI اضافه کنید.
  • حلقه رویداد اصلی را وارد کنید تا اقدامات را علیه هر رویدادی که توسط کاربر انجام می شود، انجام دهید.

ویدجت های Tkinter

Tkinter کنترل های مختلفی نظیر دکمه ها، برچسب ها و جعبه های متن برای استفاده در نرم افزار GUI فراهم می کند. این کنترل ها معمولا ویدجت ها نامیده می شوند. ویدجت ها چیزی شبیه عناصر در HTML هستند. شما انواع مختلف ویدجت و انواع مختلف عناصر را در Tkinter خواهید یافت. در حال حاضر 15 نوع ویجت در Tkinter وجود دارد.

  • Button widget برای نمایش دکمه ها در اپلیکیشن
  • Canvas widget برای ترسیم شکل ها
  • Checkbutton widget برای انتخاب چندین گزینه در یک زمان
  • Entry widget برای نمایش یک فیلد تک خطی برای پذیرش مقادیر از یک کاربر
  • Frame widget برای سازماندهی دیگر ویدجت ها
  • Label widget برای نوشتن کپشن برای دیگر ویدجت ها
  • Listbox widget برای ارائه لیستی از آپشن ها برای کاربر
  • Menubutton widget برای نمایش منو
  • Menu widget برای نمایش فرمان ها به کاربر
  • Message widget برای نشان دادن فیلدهای متن چند سطری برای پذیرش مقادیر از یک کاربر
  • Radiobutton widget برای نمایش تعدادی از گزینه ها به عنوان دکمه های رادیویی
  • Scale widget برای ایجاد ویدجت اسلایدر
  • Scrollbar widget برای اضافه کردن قابلیت پیمایش به ویدجت های مختلف مانند باکس های لیست
  • Text widget برای نمایش متن در چندین خط
  • Toplevel widget برای ارائه یک کانتینر پنجره جداگانه
  • Spinbox widget برای انتخاب یک عدد ثابت از مقادیر

این ویدجت ها دلیل محبوبیت Tkinter هستند. به دلیل همین ویدجت ها، درک کار با آن بسیار ساده است.

کدنویسی برنامه ساده Hello World 

from Tkinter import *

class Application(Frame):
    def say_hi(self):
        print "hi there, everyone!"

    def createWidgets(self):
        self.QUIT = Button(self)
        self.QUIT["text"] = "QUIT"
        self.QUIT["fg"]   = "red"
        self.QUIT["command"] =  self.quit

        self.QUIT.pack({"side": "left"})

        self.hi_there = Button(self)
        self.hi_there["text"] = "Hello",
        self.hi_there["command"] = self.say_hi

        self.hi_there.pack({"side": "left"})

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()

 

نظرتون درباره این نوشته چیه؟ عالیه بد نیست خوب نبود