سلام دوستان میخوام در مورد سلکشن ها (انتخابی ها ) براتون بگم
ولی اول باید یه چیز دیگه بگم براتون ببینید تا الان ما tkinter رو امیپورت میکردم و ازش استفاده میکردیم ولی برای یه سری از ابزار ا یه حالت جدید تر در نظر گرفته شده که قابلیت های بهتری بهتون میده من اینجا این قابلیت رو معرفی میکنم و از این به بعد از اون استفاده میکنم برای ایمپورت کردن این قابلیت به صورت زیر عمل میکنیم

from tkinter import ttk
خب برای استفاده هم یه ttk اول اسم اون ابزار اضافه میشه و تفاوتشم توی ظاهرشه که میشه بهترش کرد در ادامه(شاید جلسات بعد ) توضیح میدم فقط یادتون باشه از این میتونید برای دکمه و لیبل هم که معرفی استفاده کنید خب اولین مورد از ابزار های انتخابی checkbutton هست نحوه ی ایجادشم الان توی یه قطعه کد براتون میذارم و یه توضیح کوچیک در مورد کد میدم البته قبلش یه چیز دیگه رو هم بگو اونم اینه که خود ماژول tkinter یه سری کلاس برای ما فراهم کرده که چهار نوع متغیر هستند ولی فرقشون با متغیر های خود پایتون اینه که وقتی ما از اینها استفاده میکنیم بعد از هر تغییر توی متغیرمون تمام ابزار هایی که از این متغیر استفاده میکنند بروز میشند پس بهتره همیشه توی tkinter از متغیر های موجود خودش استفاده کنیم من چهار نوعشون رو که بیشتر بکار میاند میگم ( شاید بیشتر باشه من اطلاع دقیق ندارم )
BooleanVar
DoubleVar
IntVar
Stringvar
انواعشونم که از اسمشون مشخصه و برای این که مقدارشون رو تغییر بدیم از تابع set استفاده میکنیم و برای استفاده از مقدارشون از تابع get استفاده میکنیم  حالا کد رو مینویسم خودتون کامل متوجه میشید

from tkinter import *
from tkinter import ttk
root=Tk()


checkbutton=ttk.Checkbutton(root,text='spam ?')
checkbutton.pack()
spam=StringVar()
spam.set('SPAM!')

checkbutton.config(variable = spam,onvalue =' spam hast',offvalue=' spam nist')


def button_callback():
    print(spam.get())

button=ttk.Button(root,text='print spam ',command=button_callback)
button.pack()

کد تقریبا واضحه فقط یک قسمتش نیاز به توضیح داره اونم قسمتیه که داریم متغیر چکبانت رو تنظیم میکنیم ببینید اول variable رو مساوی spam قرار دادیم یعنی گفتیم متغیری که این ابزار توش ذخیره میکنه متغیر spam هست حالا باید دوتا وقدار بهش بدیم برای وقتی که اون چکبانت تیک خورده یا به عبار دیگه روشن (on) شده و یک حالت خاموش (off) که به تر تیب با onvalue و offvalue نمایش داده میشند (حواستون باشه این متغیر ها دلبخواهی نیستند ها الکی از خودم در نمیارم منظورم انولیو و افولیو هستند ها وگرنه اون اسم spam دلبخواهه)
حالا برنامه رو اجرا کنید قبل این که تیک بزنیدش یکبار روی دکمتون کلیک کنید میبینید اون مقدار اولیه که براش در نظر گرفتیم نماشی داده میشه و حالا تیکدارش کنید و دوباره دکمه رو بزنید و یک بار تیک رو بردارید و دکمه رو بزنید