Mac 上的 Tkinter 显示黑屏

2025-03-04 08:28:00
admin
原创
6
摘要:问题描述:这是我的代码:from tkinter import * root = Tk() root.title("Greeting") Label(root, text = "Hello World").pack() root.mainloop() 但运行后窗口上只显...

问题描述:

这是我的代码:

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

但运行后窗口上只显示黑屏

如果有帮助的话,你可以在这张图片中看到代码和窗口


解决方案 1:

Python 3.8 和 Mac os Monterey 遇到了同样的问题;我按照以下步骤解决了该问题:

  1. 将 Mac Os 升级到最新版本

  2. 升级 Python 至 3.10/3.11

我的问题已解决。

解决方案 2:

经过大量挖掘,我找到了一个解决方案(有一些注意事项)——您需要同时安装homebrewpyenv安装才能使其工作。这个想法是用一个真正有效的最新安装替换旧的弃用的 tkinter 安装(并且让您的 Mac系统*Python 保持不变!)

请注意,这将清除您安装的所有软件包pip- 请先备份它们! pyenv 有一个可用的插件,称为pyenv pip-migrate,可以使这更容易。

运行以下命令

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

  2. pyenv uninstall 3.10.5 ...或者你当前的全局 Python 版本(如果你之前已经通过 pyenv 安装过)

  3. brew install tcl-tk重新安装 tk

  4. pyenv install 3.10.5 全新安装 Python 3.10.5(或其他版本)

  5. pyenv global 3.10.5设置你的全局 Python 版本(与上面刚刚安装的版本相匹配)

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

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

最后的想法

  • 如果你还没有homebrew安装,这里有很好的说明

  • 如果你没有pyenv,就运行brew install pyenv

  • 您可能需要在 VSCode 中再次选择您喜欢的 Python 解释器

*这对我有用 - YMMV

解决方案 3:

更新到 Mac OS Sonoma 时遇到了类似的问题,我使用 tkinter 和 customtkinter 的应用程序停止工作,只显示这个空白窗口。就我而言,它通过以下方式解决:

  1. https://www.python.org/downloads/升级到 Python 3.12.1

  2. 为我的项目创建新环境

解决方案 4:

在搭载 macOS Sonoma 版本 14.5 的 M3 pro 上运行。

我的问题是我正在运行一个过时的 Python 版本作为 VS Code 解释器。

只需下载最新版本的 Python,然后通过单击 VS Code 窗口右下角的当前解释器版本来更新 Python 中的解释器版本:

1

解决方案 5:

通过运行以下命令在新的虚拟环境中安装/激活并导入所有全局安装的包:

pip install virtualenv
virtualenv venv --system-site-packages
source venv/bin/activate
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1317  
  IPD(Integrated Product Development)项目管理作为一种先进的产品开发管理模式,在众多企业中得到了广泛应用。它旨在通过整合企业的各种资源,实现产品的快速、高质量开发,从而提升企业的市场竞争力。IPD项目管理涵盖多个方面,其中五大核心要素尤为关键,它们相互关联、相互影响,共同构成了IPD项目...
IPD流程中PDCP是什么意思   5  
  IPD(Integrated Product Development)即集成产品开发,是一套先进的、成熟的产品开发管理思想、模式和方法。它强调将产品开发视为一个完整的流程,涵盖从概念产生到产品退市的全生命周期,通过跨部门团队的协同合作,实现缩短产品上市时间、提高产品质量、降低成本等目标。IPD测试流程作为IPD体系的重...
华为IPD流程   7  
  华为 IPD 产品开发流程是一套先进且成熟的产品开发管理体系,在提升企业产品竞争力、促进团队协作等方面发挥着重要作用。它以市场为导向,强调跨部门团队的协同合作,旨在实现产品的快速、高质量交付,满足客户需求并提升企业的经济效益。通过深入了解和应用 IPD 产品开发流程,企业能够优化内部资源配置,提高团队协作效率,从而在激...
IPD管理流程   8  
  IPD(Integrated Product Development)即集成产品开发,是一套先进的、成熟的产品开发管理思想、模式和方法。它强调将产品开发视为一个完整的流程,涵盖从概念产生到产品退市的全生命周期,涉及市场、研发、生产、销售、售后等多个部门的协同合作。构建高效的项目管理文化对于企业的发展至关重要,而IPD培...
IPD开发流程管理   5  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用