gpt4 book ai didi

python - `tkinter._test()` 使用 pipenv 时按钮不可见

转载 作者:行者123 更新时间:2023-12-03 18:44:39 25 4
gpt4 key购买 nike

我现在正在学习 Tkinter 并试图解决我的第一个问题,但找到 Google 并没有帮助。

我在 Mac OS X 10.15.1 (Catalina) 上运行此代码

我使用的是 Python 3.7,我的代码看起来像这样(每个 PEP8 标准有很多样板):

"""
Experiments in tkinter
"""


import tkinter as tk


def main():
"""
Main entrypoint
"""

tk._test()


if __name__ == "__main__":
main()

这会向控制台输出以下警告:

DEPRECATION WARNING: The system version of Tk is deprecated and may be removed in a future release. Please don't rely on it. Set TK_SILENCE_DEPRECATION=1 to suppress this warning.



它还显示一个带有完全空白按钮的窗口:

Output of <code>tkinter._test()</code>

根据我的理解,这些按钮应该是“点击我”和“退出”。

此外,当我单击顶部按钮时,它会闪烁黑色一秒钟,如下所示:

Result of clicking on first button

之后按钮比以前更宽:

Clicking twice
Clicking ten times

我认为 Tk 版本错误可能与输出行为有关。但是我似乎找不到更新 Tk 的方法。我应该在这里做什么?

更新

在看到@ShayneLoyd 的回答后(建议我需要一个更新版本的 Python 和更新版本的 Tk),我开始环顾四周,发现 this post on the Apple Discussion Boards这表明您可以使用自制软件安装 Python 版本,该版本链接自制软件自己安装的 Tk 版本。我试过了,但失败了,所以我用谷歌搜索了这个问题并找到了 this StackOverflow post这似乎表明我可以安装
ActiveTcl它会起作用。

我从 ActiveState 安装了 ActiveTcl 并返回到我的项目。起初,我是这样运行的:
$> cd ~/Source/experiments/python/tkinter
$> ./test.py

这实际上 工作过 !我可以阅读按钮,它的表现就像它应该的那样。然后我意识到我没有使用 pipenv,所以我做了一个快速测试:
$> pipenv run ./test.py

现在我又回到了失败状态。我更新了我的脚本以显示 Tcl 和 Tk 版本,果然当我使用 pipenv 时它正在加载 Tcl/Tk 8.5.9 但是当我不使用 pipenv 时它正在加载 8.6.9

那么我现在如何修复 pipenv 呢?

最佳答案

对于遇到相同问题且无法切换 Python 版本的任何人,您可以通过更改 MacOs 主题轻松绕过“按钮上不显示文本”问题。系统偏好设置>常规>灯光模式。
您应该记住,您可能会遇到其他问题。

关于python - `tkinter._test()` 使用 pipenv 时按钮不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58752385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com