在 PyCharm 中运行时,Tkinter 窗口显示为黑色

发布于 2025-01-10 14:14:46 字数 660 浏览 0 评论 0原文

无论我如何指定背景颜色,Tkinter 背景在运行脚本时都会显示为黑色。

我在 macOS 12.2.1 上使用 PyCharm CE 2021.3.2。

Python解释器 = Python 3.8,有5个包(如下):

  • Pillow 9.0.1
  • future 0.18.2
  • pip 22.0.3
  • setuptools 57.0.0
  • Wheel 0.36.2

窗口如下所示: 黑色、空白的 Tkinter 窗口

我尝试过:

import tkinter as tk

window = tk.Tk()
window.title("Test")

window.geometry("600x400")

window.mainloop()

尝试使用 window.configure( bg="white") 以及 window['bg'] = "white"window['background'] = "white" 为 no有用。

Tkinter background appears black upon running script no matter how I attribute the background colour.

I'm using PyCharm CE 2021.3.2 on macOS 12.2.1.

Python Interpreter = Python 3.8 with 5 packages (as follows):

  • Pillow 9.0.1
  • future 0.18.2
  • pip 22.0.3
  • setuptools 57.0.0
  • wheel 0.36.2

Window looks like this:
Black, blank Tkinter window

I've tried:

import tkinter as tk

window = tk.Tk()
window.title("Test")

window.geometry("600x400")

window.mainloop()

Tried changing with window.configure(bg="white") as well as window['bg'] = "white" and window['background'] = "white" to no avail.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半窗疏影 2025-01-17 14:14:46

我不知道是否还有其他人仍然坚持这个问题,这篇文章解决了我的问题。

基本上,如果 tcl-tk 尚未安装,那么在安装 python 时,pyenv 会获取错误版本的 tkinter (tcl-tk)提前酿造

以下是命令:

下面的命令与上述帖子完全相同,但我修改了每条评论,以使其对新手更友好。

卸载两者,

$brew uninstall tcl-tk 用 homebrew 卸载 tcl-tk

$pyenv uninstall 3.10.4 卸载 pyenv 中当前的 python。最后一部分是你的Python的当前版本,可以使用python --version检查,

然后以正确的顺序重新安装,

$brew install tcl-tk重新安装tcl-tk ,不需要指定版本

$ pyenv install 3.10.4 重新安装 Python,并将 pyenv

$ pyenv global 3.10.4 设置为全局 Python版本

这个问题应该消失。

一些旁注:

  1. 你肯定想使用pyenv或其他工具来为python设置虚拟环境,进一步的阅读可以参见此处
  2. 当然,这是一个“黑暗模式”问题,但没有一个按钮可以切换来解决这种情况。正如其他答案所建议的,这是版本冲突,只能通过在 Mac 上获取正确的版本来解决(我的是 2022 M1 Mac)。
  3. Tk-tcl 是一种基于 shell 的语言,Tkinter 是 tk-tcl 的包装器,使其可以在 python 中工作,并且现在很大程度上默认预安装在 python 中。有关 tkinter 的更多读物可以在此处找到。

Idk if anyone else is still stuck with this, this post solved my problem.

Basically it's the pyenv grabbing the wrong version of tkinter (tcl-tk) when installing python, if tcl-tk hasn't been installed with brew beforehand.

Here are the commands:

The commands below are exactly the same as the aforementioned post, but I've modified each comment to try to make them more newbie-friendly.

Uninstall both,

$ brew uninstall tcl-tk uninstall tcl-tk with homebrew

$ pyenv uninstall 3.10.4 uninstall current python in pyenv. the last part is the current version of your python, which can be checked with python --version

then reinstall with correct order,

$ brew install tcl-tk reinstall tcl-tk, version shouldn't need to be specified

$ pyenv install 3.10.4 reinstall Python with pyenv

$ pyenv global 3.10.4 set as global Python version

this problem should go away.

Some side notes:

  1. You definitely want to use pyenv or other tools to setup a virtual environment for python, further readings can be seen here.
  2. Sure, this is a "dark mode" problem, but there isn't a button you can toggle to resolve the situation. As other answers suggested, it's a version conflict and can only be solved by getting the versions right on a Mac (mine is 2022 M1 Mac).
  3. Tk-tcl is a shell-based language, and Tkinter is a wrapper around tk-tcl to make it work in python, and is largely preinstalled in python by default nowadays. Further readings of tkinter can be found here.
琉璃梦幻 2025-01-17 14:14:46

感谢 @typedecker

问题是 Python 3.8 和 Monterey 更新。

修复:

首先安装 Python 3.10,然后按照以下教程操作:

创建 Python 3.10 虚拟环境

然后只需选择在 PyCharms 中新创建的虚拟环境并运行。

Thanks to @typedecker

Issue was with Python 3.8 and the Monterey update.

Fix:

First install Python 3.10 then follow this tutorial:

Creating Python 3.10 Virtual Env

Then simply select the newly created virtual env in PyCharms and run.

无人问我粥可暖 2025-01-17 14:14:46

这对我在蒙特利的 pycharm 有用。

安装了python3.10

然后进入:
首选项

  1. ->项目
  2. ->口译员
  3. ->添加口译员
  4. ->添加本地口译员(从下拉列表中)
  5. -> Virtualenv 环境(TAB 菜单)
  6. ->将基本解释器更改为安装到其所在目录的最新 python
  7. ->按确定然后它会做一些更新

This worked for me in pycharm on Monterey.

Installed python3.10

Then go to:
Preferences

  1. -> Project
  2. -> Interpreter
  3. -> Add Interpreter
  4. -> Add Local Interpreter(from drop down)
  5. -> Virtualenv Environment(TAB menu)
  6. -> change the base interpreter to the latest python installed to the directory it's located
  7. -> Press OK and then it will do some updating
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文