Mac 上的 Tkinter 显示为黑屏

Ash*_*sh- 7 python macos tkinter

所以这是我的代码:

from tkinter import *
root = Tk()
root.title("Greeting")
Label(root, text = "Hello World").pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

但运行后窗口上唯一显示的是黑屏

如果有帮助的话,您可以在此图像中查看代码和窗口

小智 8

Python 3.8 和 Mac os Monterey 也有同样的问题;我已按照以下步骤解决该问题:

  1. 将 Mac 操作系统升级到最新版本
  2. 将Python升级到3.10/3.11

我的问题已解决。


JRi*_*les 6

经过多次挖掘,我找到了一个解决方案(有一些注意事项)-\n您需要两者homebrewpyenv安装才能使其工作。我们的想法是用实际可用的最新安装替换您旧的已弃用的 tkinter 安装*(并且让您的 Mac系统Python 保持独立!)

\n
\n

请注意,这将清除您\xe2\x80\x99安装的任何软件包pip- 首先备份它们!有一个可用于 pyenv 的插件,名为pyenv pip-migrate,可以让这一切变得更容易。

\n
\n

运行以下命令

\n
    \n
  1. brew uninstall tcl-tk 卸载旧的 tk(如果有)

    \n
  2. \n
  3. pyenv uninstall 3.10.5 ...或者无论您当前的全局 Python 版本是什么

    \n
  4. \n
  5. brew install tcl-tk重新安装 tk

    \n
  6. \n
  7. pyenv install 3.10.5 全新安装 Python 3.10.5(或任意版本)

    \n
  8. \n
  9. pyenv global 3.10.5设置您的全局Python版本(与您上面刚刚安装的版本匹配)

    \n
  10. \n
\n

您需要在安装 Pythonhomebrew 之前pyenv安装 tk via ,因为pyenv在安装 Python 时会自动尝试使用它可以找到的任何 tk 包。

\n

pyenv如果您要从一个版本的 Python 升级到另一版本,这也将起作用。

\n

最后的想法

\n
    \n
  • 如果您尚未homebrew安装,这里有一些很好的说明

    \n
  • \n
  • 如果你没有pyenv,只需运行brew install pyenv

    \n
  • \n
  • 你\xe2\x80\x99可能需要在 VSCode 中再次选择你喜欢的 Python 解释器

    \n
  • \n
\n

*这对我有用 - YMMV

\n