self.text_box.tag_config("green_fg", foreground="green")修改代码,将self.text_box的所有行中的';'设置为绿色粗体
时间: 2024-02-15 08:04:49 浏览: 31
可以使用下面的代码将每行中的 ';' 设置为绿色粗体:
```
self.text_box.tag_configure("green_fg", foreground="green", font=("bold"))
for line_num in range(1, int(self.text_box.index("end").split(".")[0])+1):
line_start = f"{line_num}.0"
line_end = f"{line_num}.end"
line_text = self.text_box.get(line_start, line_end)
if ";" in line_text:
idx = line_text.index(";")
self.text_box.tag_add("green_fg", f"{line_start}+0c", f"{line_start}+{idx+1}c")
```
首先,我们使用 `tag_configure()` 方法创建一个名为 "green_fg" 的标签,将其前景色设置为绿色,将字体设置为粗体。
然后,我们使用 `index()` 方法获取 `self.text_box` 中的最后一个字符的索引,以确定行的数量。接下来,我们使用 `get()` 方法获取每行的文本,并使用 `if` 语句检查每行中是否包含 ';'。如果包含,我们使用 `tag_add()` 方法将 ';' 之前的文本加上 "green_fg" 标签,这样 ';' 就会被设置为绿色粗体。
注意,这段代码假设每行都以换行符结束,不包含行末空格。如果有特殊情况,可能需要进行适当的调整。