我在我的Mac上用Tkinter。每当我有一个复选按钮或无线电按钮,动画时,我取消选择它的小故障。例如,选中的复选按钮onclick将取消选中一秒钟,选择一秒钟,然后取消选择--是否有人遇到此问题,如果是,是否可以修复?
from Tkinter import *
root = Tk()
Checkbutton1 = Checkbutton(root).pack()
root.mainloop()
发布于 2015-07-03 10:14:21
这个问题可能与Tcl/Tk在Mac,Aqua Cocoa TK8.5上的分布有关。图形化问题已经被确认为Tkinter,尽管报告没有特别提到Checkbutton问题。
您必须获得一个最新版本的Tcl (有些实现为8.5或8.6),并将Python与其链接。
警告:请参阅下面的编辑,这可能会导致其他包的问题。
我跟随这一期关于自制的用brew安装tcl-tk (8.6),然后让Python使用它。Python 2的命令如下:
brew install homebrew/dupes/tcl-tk
brew uninstall python
brew install python --with-tcl-tk
(在上面的链接中使用的选项是--with tk,但是对于--with tk,它已经被废弃了)
公式是keg--所以只有Python才知道新的Tcl/Tk。tclsh和愿望也将继续使用旧的Tcl。要检查Python的版本和基本特性,请执行以下操作:
import Tkinter
Tkinter._test()
要检查tclsh中的版本,请执行以下操作:
puts $tcl_version
对于Python3,在brew中使用python3
,在Python脚本中使用tkinter
。
如果您喜欢使用.dmg,并且不介意使用商业但免费的解决方案(如啤酒),您可以尝试ActiveTcl。TkDocs在这方面有一个很好的教程。这一次它也应该安装一个新的愿望。
编辑:遵循上述步骤后,图形故障应该已经消失,但是如果使用matplotlib、枕头或其他使用Tk后端的包,则在导入后端模块时可能会收到如下警告:
类TKApplication都是在/usr/TKApplication/opt/tcl-tk/lib/lib 8.6中实现的。两个中的一个将被使用。哪个是未定的。
(如果安装了ActiveTcl,也可能/Library/Frameworks /System/Library/Frameworks )
当使用matplotlib绘图时,应用程序崩溃了.因此,如果您使用这样的包,我不推荐这种方法。目前,我正在尝试使ActiveTcl与ActiveTcl一起工作,以确定是否可以消除故障,并使matplotlib仍然工作。ActiveTcl 8.5似乎足以消除与大多数软件包兼容的重大故障,但我尚未尝试。
在这个问题中调整枕头安装安装脚本的一些想法,但我无法将其应用于matplotlib。
https://stackoverflow.com/questions/28197925
复制相似问题