如何阻止 tkinter 在 Mac 上输出“[CATransaction Synchronize] Called inside transaction”?

Mas*_*iot 10 tkinter python-3.x

我正在使用 Python v.3.10.7 和 tkinter 打开文件对话框,我相信这是 MacOS 特有的问题(使用 13.0 (22A380)),但是当我运行以下命令时:

from tkinter import filedialog as fd

file = fd.askopenfilename()
print(file)
Run Code Online (Sandbox Code Playgroud)

打开对话框时控制台返回以下内容:

2022-11-14 20:54:12.497 Python[10059:11543274] +[CATransaction Synchronize] 在事务中调用

只是想知道是否有办法阻止这些被返回 - 我还注意到,当移动对话框时,该行会不断收到垃圾邮件。

Bha*_*rel 2

不幸的是,这是macOS Ventura (13.0+) 中出现的一个错误。

该错误源自NSOpenPanel(用于创建文件对话框的内置 API),并直接向进程的 stderr 抛出一条消息。

错误报告以多种语言打开,其中包括Python,但要由 Apple 来修复它。

您可以尝试通过更改 Python 可执行文件的默认 stderr 并过滤掉这些消息来尝试解决方法,但坦率地说,我只是将其保留原样。