You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改CustomTkinter Textbox行样式?解决tag_configure缩放报错问题

解决CTkTextbox用tag_configure设置字体时的缩放报错问题

问题原因

CTkTextbox集成了CustomTkinter的DPI缩放逻辑,直接使用("Arial", 16)这种原生字体格式设置标签字体,会和内部缩放机制冲突,触发限制报错。

解决方法

用CustomTkinter提供的CTkFont类创建字体,它会自动适配当前的DPI缩放,和CTkTextbox的渲染逻辑完全兼容。

修改后的完整代码

from customtkinter import CTkFont  # 别忘了导入CTkFont

# ... 你的其他初始化代码 ...

self.test = CTkTextbox(scrollable_frame.scrollable_frame, corner_radius=20, width=400, height=100,
                       border_width=2, bg_color=colur2, border_color=colur3, fg_color=colur2, text_color=colur3)
self.test.grid(row=6, column=0, sticky="w")
self.test.insert(tk.END, "News\n", "1")
self.test.insert(tk.END, "Something about news comes here...\n", "2")

# 用CTkFont创建适配缩放的字体
title_font = CTkFont(family="Arial", size=16)
self.test.tag_configure("1", font=title_font)

self.test.configure(state="disabled")

额外说明

如果不想用CTkFont,也可以手动获取控件的缩放因子调整字体大小,但这种方式不如CTkFont省心:

scaling = self.test._get_scaling()  # 获取当前缩放值
self.test.tag_configure("1", font=("Arial", int(16 * scaling)))

但更推荐用CTkFont,它能自动跟随全局缩放设置变化,不用手动维护。

内容的提问来源于stack exchange,提问作者matehorvath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 13:07:14