gpt4 book ai didi

python - 格式化的 tkinter 文本框

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:58 24 4
gpt4 key购买 nike

我正在尝试使用 tkinter 文本小部件来实现一些基本的文本格式设置功能。粗体、下划线、斜体和一些字体大小。

在这个例子中,我已经让所有这些东西自己工作了 Add advanced features to a tkinter Text widget但我发现任何使用 font 关键字的格式与使用 font 关键字的任何其他格式都是互斥的。

例如:为了实现“粗体”,我预先创建了一个标签,它复制文本框的默认字体,将其更改为粗体,然后将其用作 tag_configure 的 font= 参数。我用同样的方式做斜体,还有不同的字体大小。我没有看到一种简单的方法来拥有一个“粗体”按钮,单击该按钮会使所选文本变为粗体,但保留其字体的所有其他功能(例如,如果它以前的大小为 18)。

有什么比预先创建所有可能的字体标签组合,并有一堆逻辑来决定在单击格式按钮时将哪个(哪些)应用到选定的文本部分更好的方法吗?

最佳答案

不,没有办法合并多个字体标签的结果。如果您想要粗体-斜体,除了粗体和斜体之外,您还必须创建粗体-斜体。

至于比预先创建所有可能的组合更好的方法,我建议在您第一次需要时按需创建它们。没有理由创建一堆您可能永远不需要的字体。这不是一个特别难解决的问题,只是有点乏味。

我将从一个函数开始,该函数可以根据所需的特征(例如:“bold-italic-18”)计算字体的规范名称。接下来,编写一个函数,为该特定组合创建一个标签(如果标签不存在),然后返回该标签名称。然后只需确定范围内每个字符应具有的属性、获取标签并应用标签即可。同样,乏味,但不是特别难。

虽然 tkinter 文本小部件在其功能和易用性方面非常出色,但这是它的不足之处。

关于python - 格式化的 tkinter 文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20886043/

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