PxExl-7. SỬ DỤNG PYTHON TKINTER TẠO GIAO DIỆN PHẦN MỀM (P7: TẠO RADIOBUTTON)

I. Tạo RadioButton Trong Tkinter

Cú pháp:
button = Radiobutton(master, text=”Name on Button”, variable = “shared variable”, value = “values of each button”, options = values, …)
shared variable = A Tkinter variable shared among all Radio buttons 
value = each radiobutton should have different value otherwise more than 1 radiobutton will get selected. 

Ví dụ 1 (Radio button, nhưng không ở dạng button, mà ở dạng button box. Đối với dạng này thì giá trị của indicatoron/indicator = 0)

# Importing Tkinter module
from tkinter import *
#from tkinter.ttk import *
# Creating master Tkinter window
master = Tk()
master.geometry(“175×175”)
# Tkinter string variable
# able to store any string value
v = StringVar(master, “1”)
# Dictionary to create multiple buttons
values = {“RadioButton 1” : “1”,
          “RadioButton 2” : “2”,
          “RadioButton 3” : “3”,
          “RadioButton 4” : “4”,
          “RadioButton 5” : “5”}
# Loop is used to create multiple Radiobuttons
# rather than creating each button separately
for (text, value) in values.items():
    Radiobutton(master, text = text, variable = v,
                value = value, indicator = 0,
                background = “light blue”).pack(fill = X, ipady = 5)
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

II. Các ví dụ cho RadioButton

Ví dụ 2 (Radio button  ở dạng button thông thường, khi đó ta loại bỏ indicator/indicatoron)

# Importing Tkinter module
from tkinter import *
from tkinter.ttk import *
# Creating master Tkinter window
master = Tk()
master.geometry(“175×175”)
# Tkinter string variable
# able to store any string value
v = StringVar(master, “1”)
# Dictionary to create multiple buttons
values = {“RadioButton 1” : “1”,
        “RadioButton 2” : “2”,
        “RadioButton 3” : “3”,
        “RadioButton 4” : “4”,
        “RadioButton 5” : “5”}
# Loop is used to create multiple Radiobuttons
# rather than creating each button separately
for (text, value) in values.items():
    Radiobutton(master, text = text, variable = v,
        value = value).pack(side = TOP, ipady = 5)
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

Ví dụ 3 (Thêm Style vào Radio Button bằng cách sử dụng lớp Style )

# Importing Tkinter module
from tkinter import *
from tkinter.ttk import *
# Creating master Tkinter window
master = Tk()
master.geometry(‘175×175’)
# Tkinter string variable
# able to store any string value
v = StringVar(master, “1”)
# Style class to add style to Radiobutton
# it can be used to style any ttk widget
style = Style(master)
style.configure(“TRadiobutton”, background = “light green”,
                foreground = “red”, font = (“arial”, 10, “bold”))
# Dictionary to create multiple buttons
values = {“RadioButton 1” : “1”,
          “RadioButton 2” : “2”,
          “RadioButton 3” : “3”,
          “RadioButton 4” : “4”,
          “RadioButton 5” : “5”}
# Loop is used to create multiple Radiobuttons
# rather than creating each button separately
for (text, value) in values.items():
    Radiobutton(master, text = text, variable = v,
                value = value).pack(side = TOP, ipady = 5)
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

Ví dụ 4 (Vẫn là ví dụ 3 nhưng ta thêm nút Click Me! và in ra kết quả trên Visual Studio Code)

# Importing Tkinter module
from tkinter import *
from tkinter.ttk import *
# Creating master Tkinter window
master = Tk()
master.geometry(‘175×175’)
# Tkinter string variable
# able to store any string value
v = StringVar(master, “1”)
# Style class to add style to Radiobutton
# it can be used to style any ttk widget
style = Style(master)
style.configure(“TRadiobutton”, background = “light green”,
                foreground = “red”, font = (“arial”, 10, “bold”))
# Dictionary to create multiple buttons
values = {“RadioButton 1” : “1”,
          “RadioButton 2” : “2”,
          “RadioButton 3” : “3”,
          “RadioButton 4” : “4”,
          “RadioButton 5” : “5”}
# Loop is used to create multiple Radiobuttons
# rather than creating each button separately
for (text, value) in values.items():
    Radiobutton(master, text = text, variable = v,
                value = value).pack(side = TOP, ipady = 5)
def clicked(): #Tạo hàm thực thi
    print(v.get()) #In ra kết quả khi ta click vào nút
btn = Button(master, text = ‘Clicked Me!’, command = clicked)
btn.pack(side=BOTTOM, ipady = 5)
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

III. Kết Luận

Như vậy, chúng tôi đã tiếp tục giới thiệu tới các bạn các khái niệm cơ bản của Tkinter trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giúp đỡ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *