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

如何在PySimpleGUI的sg.Text()中为单词单个字母添加粗体

在PySimpleGUI中实现单个字母加粗且无间距的方法

方案1:调整Text组件内边距消除间距

默认sg.Text会自带内边距,这就是两个组件间出现空格的原因。只要给两个Text组件都设置pad=(0,0),同时保证字体大小一致,就能实现无缝衔接的单个字母加粗效果:

import PySimpleGUI as sg

layout = [
    [
        sg.Text("H", font=("Arial", 12, "bold"), pad=(0,0)),
        sg.Text("ello", font=("Arial", 12), pad=(0,0))
    ]
]

window = sg.Window("单个字母加粗示例", layout)
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
window.close()

方案2:用tkinter原生Text组件实现富文本

如果需要处理更复杂的多段样式文本,直接嵌入tkinter的Text组件更灵活,它支持给任意片段单独设置样式:

import PySimpleGUI as sg
import tkinter as tk

layout = [
    [sg.TkCanvas(key="-CANVAS-")]
]

window = sg.Window("富文本示例", layout, finalize=True)

# 获取容器并创建tkinter Text组件
canvas = window["-CANVAS-"].TKCanvas
text_widget = tk.Text(canvas, font=("Arial", 12), borderwidth=0)
text_widget.pack()

# 插入文本并给单个字母加黑
text_widget.insert(tk.END, "H")
text_widget.tag_add("bold_tag", "1.0", "1.1")
text_widget.tag_config("bold_tag", font=("Arial", 12, "bold"))
text_widget.insert(tk.END, "ello")

# 锁定文本防止误编辑
text_widget.config(state=tk.DISABLED)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
window.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:05:09