如何在 Tkinter 中更改多种背景颜色?
在本文中,我们将了解如何在 Tkinter 中更改或切换多种背景颜色。
单选按钮:
Radiobutton 是一个小部件,可让我们从多个选项中选择一个选项。 Tkinter 提供 Radiobutton 使用它我们可以在我们的 GUI 应用程序中显示多个选项。
句法:
tk.Radiobutton(text=some_name,value=give_name_that_of_text,variable=Tkinter_Variable)
for option in [“Brown”,”Black”,”Orange”,”Green”,”Red”]:
rd = tk.Radiobutton(root,text=”%s” %option,value=option,variable=choice)
rd.pack()
为了显示每个 Radiobutton 的变量,我们将初始化 Tkinter 字符串变量。使用字符串变量,我们可以执行 set 和 get 方法。最初使用字符串变量,我们将把紫色初始化为默认颜色。
句法:
var = tk.StringVar()
choice = tk.StringVar(root,"purple") # initialize
# after button click:
color = choice.get()
帆布:
Tkinter 画布可用于在窗口中绘图、创建图像和添加颜色。
canva = tk.Canvas(root,bg="purple")
canva.place(x=-1,y=-1,width=300,height=300)
place() 方法是一个布局管理器,用于在 GUI 窗口中放置一个小部件。
按钮:
该按钮用于触发 GUI 应用程序中的事件。您可以添加一个命令作为参数,该命令调用要在单击按钮时执行的函数。简单来说,Button 用于切换事件。
btn = tk.Button(text=”Change BG”,command=trigger_some_change,bd=4)
btn.pack()
bd 参数表示边界。该包也是一个布局管理器,用于按特定顺序在 GUI 上显示小部件。
例子:
Python3
import tkinter as tk
# configure window and its dimension
# make window fixed
root = tk.Tk()
root.geometry("300x300")
root.resizable(False, False)
def change():
# change color after button triggers
color = choice.get() # tkinter variable get method
canva.configure(bg=color)
choice = tk.StringVar(root, "purple")
# create canva to play with background colors
canva = tk.Canvas(root, bg="purple")
canva.place(x=-1, y=-1, width=300, height=300)
# create 5 Radio Buttons
for option in ["Brown", "Black", "Orange", "Green", "Red"]:
tk.Radiobutton(root, text="%s" % option, value=option,
variable=choice, padx=10, pady=5).pack()
# button to trigger colour change
tk.Button(text="Change BG", command=change, bd=4).place(x=100, y=180)
root.mainloop()
输出: