Windows 上的 Tk 消息框是系统提供的消息框。Tk 不使用 Tk 按钮和框架创建消息框,而是显示 Windows API 提供的常用对话框。
为了在这里查看您的报告,我运行了 Tcl/Tk 8.6、Python 3.4 和 Powershell,并让每个都显示一个消息框。如您所见,Tcl/Tk 的出现与我们预期的一样,但 Python 和 Powershell 都默认使用旧风格的非主题外观。

其原因很可能与启动它的可执行文件中的嵌入式清单有关。Tcl/Tkwish
可执行文件包含一个清单资源,表明应用程序支持主题公共控件库。python.exe 和 pythonw.exe 文件没有这样的资源。必要的清单嵌入在 tkinter 使用的 Tk86.dll 文件中,但我认为这需要与可执行文件相关联。我通过使用 Visual Studio 打开 pythonw.exe 文件并将现有的 RT_MANIFEST 资源替换为从 Tk86.dll 中提取的资源来测试这一假设。有了合适的清单,Python tkinter 消息框就会出现适当的主题:

假设这个清单可以作为 XML 文件提供在与可执行文件相同的文件夹中,但在测试中似乎不起作用。我必须将清单实际嵌入可执行资源中。
有关清单资源的更多信息,请参阅“启用视觉样式”。