Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter Mac Checkbutton取消选择动画故障_Python_Macos_Animation_Tkinter_Visual Glitch - Fatal编程技术网

Python Tkinter Mac Checkbutton取消选择动画故障

Python Tkinter Mac Checkbutton取消选择动画故障,python,macos,animation,tkinter,visual-glitch,Python,Macos,Animation,Tkinter,Visual Glitch,我在Mac电脑上使用Tkinter。每当我有一个Checkbutton或Radiobutton时,当我取消选择它时,动画就会出现小故障。例如,选中的checkbutton,onclick,将在几分之一秒内取消选择,选择一秒,然后取消选择-是否有人遇到此问题,如果是,是否可以修复 from Tkinter import * root = Tk() Checkbutton1 = Checkbutton(root).pack() root.mainloop() 此问题可能与Mac OS X、Aqua

我在Mac电脑上使用Tkinter。每当我有一个Checkbutton或Radiobutton时,当我取消选择它时,动画就会出现小故障。例如,选中的checkbutton,onclick,将在几分之一秒内取消选择,选择一秒,然后取消选择-是否有人遇到此问题,如果是,是否可以修复

from Tkinter import *
root = Tk()
Checkbutton1 = Checkbutton(root).pack()
root.mainloop()

此问题可能与Mac OS X、Aqua Cocoa Tk 8.5上Tcl/Tk的分发有关。图形问题,尽管报告没有特别提到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
(上面链接中使用的选项是--brewed tk,但已被弃用--tcl tk)

公式是keg,因此只有Python知道新的Tcl/Tk。Tlsh和wish也将继续使用旧的Tcl。 要检查Python的版本和基本功能,请执行以下操作:

import Tkinter
Tkinter._test()
要在tclsh中检查版本,请执行以下操作:

puts $tcl_version
对于Python 3,在brew中使用
python3
,在Python脚本中使用
tkinter

如果您更喜欢使用.dmg,并且不介意使用商业但免费(如啤酒)的解决方案,您可以尝试一下。TkDocs在这方面有很好的优势。这一次,它还应该安装一个新的愿望

编辑:在执行上述步骤后,图形故障应该已经消失,但是如果您使用matplotlib、pillow或其他使用Tk后端的软件包,则在导入后端模块时可能会收到如下警告:

类TK应用程序在两个 /usr/local/opt/tcl-tk/lib/libtk8.6.dylib和 /系统/库/框架/Tk.framework/Versions/8.5/Tk。其中一个 将使用两个。哪一个是未定义的

(如果安装了ActiveTcl,可能是/Library/Frameworks vs/System/Library/Frameworks)

使用matplotlib打印时,应用程序崩溃。。。因此,如果您使用这样的软件包,我不推荐这种方法。我目前正在尝试让Python与ActiveTcl一起工作,看看是否可以消除这个小故障,并让matplotlib仍然工作。ActiveTcl 8.5似乎足以消除主要故障,同时与大多数软件包兼容,但我还没有尝试

在本文中,我提出了一些调整枕头安装的设置脚本的想法,但我无法将其应用于matplotlib