ساخت checkbutton

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 26, 2020

در این قسمت با کلید هایی با قابلیت فعال و غیر فعال سازی آشنا می شوید که برای نگه داری وضعیت مورد های خاص استفاده می شود. به عنوان مثال انجام عملیاتی با در نظر رگفتن یکسری آپشن های خاصی که درون آن تعریف شده است. ساخت checkbutton با تابع هم نام خودش صورت میگیرد و مانند بقیه ویدجت ها یک آرگومان اصلی که پنجره ای که در آن تشکیل می شود را شامل و در آرگومان های بعد آپشن هایی که می خواهیم برای آن را در نظر بگیریم را درج می کنیم. مثال زیر نمونه ساخت checkbutton در صفحه را به شما نشان خواهد داد. کد نمونه:

#importing libraries
from tkinter import *

# building a window
window = Tk()

#adding window title
window.title("icc-aria gui app")

#making the checkbutton for male
Checkbutton(window, text="male").pack()

#making the checkbutton for female
Checkbutton(window, text="male").pack()

#creating the loop for the program
window.mainloop()

نمونه خروجی:

خوب با نحوه ساخت ساده آن آشنا شدیم اما نحوه استفاده عملیاتی آن در کد به چه شکل است؟ برای این کار کافیست که با نگهداری وضعیت ویدجت مورد نظر با استفاده از intVar و ریختن مقادیرش در textvariable به راحتی وضعیت هر کدام از چک باکس ها را مشاهده و عملیات لازم را مبتنی بر آن ها صورت دهیم. کد نمونه:

#importing libraries
from tkinter import *

#function to get the name and family name to show in window and console
def sign_in():
    first_name = name.get()
    last_name = family_name.get()
    if male_btn.get() == 1 and female_btn.get() == 0:
        gender = "mr"
    elif female_btn.get() == 1 and male_btn.get() == 0:
        gender = "mrs"
    elif female_btn.get() == 1 and male_btn.get() == 1:
        gender = "unknown"
    else:
        gender = "unknown"                
    user_name.configure(text="welcome {} {} {}".format(gender,first_name,last_name))

# building a window
window = Tk()

#adding window title
window.title("icc-aria gui app")

#making a label for first name entry
Label(window, text="First Name").pack()

#making the entry for first name
name = Entry(window)
name.pack()

#making a label for last name entry
Label(window, text="Last Name").pack()

#making the entry for last name
family_name = Entry(window)
family_name.pack()

#making the checkbutton for male
male_btn = IntVar()
Checkbutton(window, text="male", variable=male_btn).pack()

#making the checkbutton for female
female_btn = IntVar()
Checkbutton(window, text="female", variable=female_btn).pack()

#making an action button
btn = Button(window,text="sign in",command=sign_in)
btn.pack()

#making a label to be able to say welcome
user_name = Label(window)
user_name.pack()

#creating the loop for the program
window.mainloop()

نمونه خروجی:

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
captcha
0دیدگاه