因此,几个月前,我制作了一个小型 GUI,用于在我正在运行的角色扮演活动中处理 NPC。从那以后我就再也没有接触过,只是现在我需要它!明天,事实上...
我有一些奇怪的错误...加载 GUI 似乎工作正常,但是当我开始按下按钮时,麻烦就开始了。起初,脚本似乎非常慢,但实际上不应该如此,按下按钮时调用两行骰子函数。我意外地发现,当我将鼠标悬停在“关闭/最小化窗口”按钮(不是在 GUI 中,而是在操作系统中)上时,该按钮将根据按钮按下的结果进行更新。
我的列表框也会发生同样的事情:选择一个项目可能会也可能不会立即选择该项目(但将鼠标悬停在关闭/最小化上会更新它),并且选择的结果可能会也可能不会显示。结果实际上更奇怪:选择一个列表框项目应该从所选项目中获取信息并将其打印在另一个框架中。即使选择本身没有悬停也很好,打印的文本也会以某种方式“剪切”,只显示一个似乎覆盖任意大小的文本方块的区域......当然,可以通过悬停来补救。 GUI 的其余部分也有完全相同的问题。
我不知道这里发生了什么。该脚本是在另一台计算机上编写的,但这也是一台运行相同 OSX 版本 (Mavericks) 的 Mac,而且它是一台速度慢得多的计算机。不过,这个脚本不需要任何高级规范!我猜迁移到新计算机和不同软件的各个版本有问题?我将把脚本粘贴到下面,以防有帮助。
任何帮助将不胜感激,特别是如果它是在明天下午超级英雄的下一场史诗般的战役开始之前提供的! =P
[更新]:
虽然已经过去一段时间了,但我还是想解决这个问题。我已将脚本简化为一个简单的按钮,但问题仍然存在:单击按钮,即使没有任何功能或与之相关的任何内容,也只会导致冻结的“按钮单击”颜色(即浅蓝色) OSX Yosemite),我必须将鼠标指针悬停在关闭/最小化/等上。左上角的按钮,使其返回“空闲按钮”颜色(即灰色)。
#!/usr/bin/python
import tkinter as tk
root = tk.Tk()
test = tk.Button(root, text='test')
test.pack()
root.mainloop()
因此,问题显然不在于我的任何“下游”脚本,而在于模块或我的调用方式。调用终端脚本不会给我任何错误消息,问题仍然存在。有任何想法吗?真的会是,really很好地解决了这个问题!
在 Mac OS X Sierra (10.12.3) 上使用 Python 和 IDLE v3.6.0 的 Tk 8.5.13 时,我遇到了同样的问题。
按照 Python Software Foundation 页面上的建议升级到 TCL/Tk 8.5.18.0https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0 https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0似乎成功了。这是我的操作系统版本的推荐版本。
我正在构建的界面按照我的预期开始响应,即当使用其中一个控件时立即响应。到目前为止,我唯一的保留意见是,普通按钮现在似乎没有任何类型的动画,尽管按钮确实可以工作。
-S。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)