修改以上程序关于字体大小的设置
时间: 2023-12-10 19:04:12 浏览: 27
好的,以下是修改后的代码,使用了 Spinbox 控件来设置字体大小:
```python
import tkinter as tk
from tkinter import font
class App:
def __init__(self, master):
self.master = master
self.master.title("文字样式示例程序")
# 创建单选按钮和复选框
self.bold_var = tk.BooleanVar()
self.bold_checkbox = tk.Checkbutton(self.master, text="粗体", variable=self.bold_var, command=self.update_text)
self.bold_checkbox.pack(side=tk.LEFT, padx=10, pady=10)
self.italic_var = tk.BooleanVar()
self.italic_checkbox = tk.Checkbutton(self.master, text="斜体", variable=self.italic_var, command=self.update_text)
self.italic_checkbox.pack(side=tk.LEFT, padx=10, pady=10)
self.underline_var = tk.BooleanVar()
self.underline_checkbox = tk.Checkbutton(self.master, text="下划线", variable=self.underline_var, command=self.update_text)
self.underline_checkbox.pack(side=tk.LEFT, padx=10, pady=10)
self.font_size_var = tk.StringVar()
self.font_size_var.set("12")
self.font_size_spinbox = tk.Spinbox(self.master, from_=8, to=36, textvariable=self.font_size_var, command=self.update_text)
self.font_size_spinbox.pack(side=tk.LEFT, padx=10, pady=10)
# 创建文本框
self.text_box = tk.Text(self.master, height=10)
self.text_box.pack(padx=10, pady=10)
# 设置默认字体
self.font = font.Font(family="Arial", size=12, weight="normal", slant="roman", underline=0)
self.text_box.config(font=self.font)
def update_text(self):
# 更新字体样式
weight = "bold" if self.bold_var.get() else "normal"
slant = "italic" if self.italic_var.get() else "roman"
underline = self.underline_var.get()
size = int(self.font_size_var.get())
self.font.configure(weight=weight, slant=slant, underline=underline, size=size)
self.text_box.config(font=self.font)
# 创建主窗口
root = tk.Tk()
# 启动GUI程序
app = App(root)
# 进入消息循环
root.mainloop()
```
在这个程序中,我们使用 Spinbox 控件来设置字体大小。当用户更新字体大小时,文本框中的文本将会相应地更新。
注意:这只是一个简单的示例程序,你需要根据需求进行修改和优化。