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

Python3.10运行Tkinter默认启用深色主题,如何改回标准浅色主题?

Tkinter Python3.10 深色主题改回浅色方案

问题原因

Python 3.10 配套的 Tk 组件版本升级至 8.6.12 以上,新增了系统主题自动适配能力,会跟随 Windows、macOS 系统的全局深色/浅色模式自动切换界面样式,你遇到的深色界面就是 Tk 匹配系统深色模式的默认行为。

修复方案

方案1:手动指定所有组件浅色背景

直接在代码中显式设置根窗口、框架、画布等组件的背景色为旧版本默认的浅色值,修改后的代码如下:

from tkinter import *

root = Tk()
# 设置根窗口背景为默认浅色
root.configure(bg="#f0f0f0")

class Something:
    def __init__(self, parent, col, row):
        # 给画布添加浅色背景配置
        canvas = Canvas(parent, bd=1, relief=SOLID, highlightthickness=0, width=30, height=30, bg="#f0f0f0")
        canvas.grid(column=col, row=row)

# 给框架添加浅色背景配置
frame = Frame(root, bd=1, relief=SOLID, bg="#f0f0f0")
frame.grid(padx=50, pady=50)

for i in range(11):
    for j in range(11):
        Something(frame, i, j)

root.mainloop()

其中#f0f0f0是旧版本 Tkinter 组件的默认背景色,和之前的浅色主题完全一致。

方案2:全局关闭Tk的深色模式适配

不需要逐个修改组件,在根窗口初始化后添加对应系统的适配关闭代码即可:

  • Windows 系统添加:root.tk.call("set", "::tk::windows::DarkMode", 0)
  • macOS 系统添加:root.tk.call("set", "::tk::mac::UseDarkMode", 0)

方案3:修改系统全局主题

如果希望所有 Tkinter 程序都默认使用浅色主题,直接把操作系统的全局主题切换为浅色模式,Tkinter 会自动同步样式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:15:04