在以上代码中添加设置文字大小的功能
时间: 2023-09-03 18:09:56 浏览: 98
好的,我们可以在代码中添加一个 Scale 组件来实现设置文字大小的功能。下面是修改后的代码:
```python
import tkinter as tk
# 创建窗口
root = tk.Tk()
root.title("设置文字样式")
# 创建标签
label = tk.Label(root, text="Hello, World!", font=("Arial", 12))
label.pack()
# 创建字体样式单选按钮
font_style_var = tk.StringVar()
font_style_var.set("normal")
normal_button = tk.Radiobutton(root, text="正常", variable=font_style_var, value="normal")
bold_button = tk.Radiobutton(root, text="加粗", variable=font_style_var, value="bold")
italic_button = tk.Radiobutton(root, text="斜体", variable=font_style_var, value="italic")
normal_button.pack()
bold_button.pack()
italic_button.pack()
# 创建文字颜色复选框
color_var = tk.StringVar()
color_var.set("black")
black_check = tk.Checkbutton(root, text="黑色", variable=color_var, onvalue="black")
red_check = tk.Checkbutton(root, text="红色", variable=color_var, onvalue="red")
blue_check = tk.Checkbutton(root, text="蓝色", variable=color_var, onvalue="blue")
black_check.pack()
red_check.pack()
blue_check.pack()
# 创建文字大小滑块
size_var = tk.IntVar()
size_var.set(12)
size_scale = tk.Scale(root, from_=8, to=24, orient=tk.HORIZONTAL, variable=size_var, label="文字大小")
size_scale.pack()
# 定义函数,根据用户选择的样式设置标签的样式
def update_label_style():
font_style = font_style_var.get()
font_weight = "normal"
font_slant = "roman"
if font_style == "bold":
font_weight = "bold"
elif font_style == "italic":
font_slant = "italic"
color = color_var.get()
size = size_var.get()
label.config(font=("Arial", size, font_weight, font_slant), fg=color)
# 创建应用按钮,点击后更新标签样式
apply_button = tk.Button(root, text="应用", command=update_label_style)
apply_button.pack()
# 运行窗口
root.mainloop()
```
在这个示例中,我们添加了一个 Scale 组件,用来设置文字大小。用户可以拖动滑块来选择合适的文字大小。在 update_label_style 函数中,我们获取用户选择的文字大小,并将其应用到标签的样式中。
阅读全文