gpt4 book ai didi

python - 设置为使用标签加粗所选文本

转载 作者:太空狗 更新时间:2023-10-30 02:22:33 24 4
gpt4 key购买 nike

我一直在尝试制作一个简单的文本编辑器,并且一直在尝试使用标签。我已经能够使用标签创建证明。现在我要添加一个粗体选项。

我的问题是我找不到很多使用 "sel" 的例子标签,用于当前选择的标签。

每当我使用 SEL标记,文本只有在突出显示时才会显示为粗体,当它未突出显示时,它会恢复为原来的瘦字体。

这是我的一小部分代码:

def Bold(self, body, Just, Line, selected font):
bold font = tkFont.Font(family=selectedfont, weight="bold")
selected font = boldfont
body.tag_config("sel",font=selectedfont)
body.tag_add("sel", 1.0,END)

Bold按下按钮,调用前一个函数。现在,我有 body.tag_add("sel", 1.0, END)1.0 设置至 END ,因为我不知道如何获取所选域。我试过了 <<Selection>> , 但经过长时间的试验,它对我没有帮助。

最佳答案

您只需要在函数内部使用 tag_add():

import Tkinter as tk

def make_bold():
aText.tag_add("bt", "sel.first", "sel.last")

lord = tk.Tk()

aText = tk.Text(lord, font=("Georgia", "12"))
aText.grid()

aButton = tk.Button(lord, text="bold", command=make_bold)
aButton.grid()

aText.tag_config("bt", font=("Georgia", "12", "bold"))

lord.mainloop()

我刚刚遇到了一个很有教育意义的example不是别人,正是布莱恩·奥克利 (Bryan Oakley),
在完全不相关的搜索中!

这是一个更动态的替代方案的简单示例:

import Tkinter as tk
import tkFont

def make_bold():
current_tags = aText.tag_names("sel.first")
if "bt" in current_tags:
aText.tag_remove("bt", "sel.first", "sel.last")
else:
aText.tag_add("bt", "sel.first", "sel.last")


lord = tk.Tk()

aText = tk.Text(lord, font=("Georgia", "12"))
aText.grid()

aButton = tk.Button(lord, text="bold", command=make_bold)
aButton.grid()

bold_font = tkFont.Font(aText, aText.cget("font"))
bold_font.configure(weight="bold")
aText.tag_configure("bt", font=bold_font)

lord.mainloop()

关于python - 设置为使用标签加粗所选文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com