免责声明:我是个菜鸟。
我在OSX 10.6上安装了Python 3.2(r32:88452)和ActiveTcl 8.5.9.2(build 294317)。两者都安装没有任何错误,我已经设法通过终端运行.PY。它运行正常。
我运行IDLE并且没有显示任何错误。但每当我按下引号键(')时,没有任何反应。与[shift]按下(“)相同。字符只是不注册。”反引号“/波形键,[shift]按下或其他方式也是如此。
我正在使用美国国际键盘布局。
我试过打开键盘查看器。两个键,单引号和“反引号”都是橙色的。 (直到现在我才注意到这一点。)在任何其他应用程序中,无论何时单击它们,都会输入相应的字符 - 但是在Python IDLE中没有任何反应。
关于可能发生的事情的任何想法?
附加信息:交互模式下的Python解释器(从终端运行)注册两个键就好了。此外,如果我尝试将键盘布局更改为普通的“美国”,即使IDLE也会记录键;但这更像是一种解决方法,我想听听你的意见。
答案 0 :(得分:3)
IDLE使用Python标准库中的Tkinter
来提供GUI功能。 Tkinter是多平台Tk
图形界面的接口,是Tcl/Tk
的一部分。不幸的是,OS X上的Aqua Tk
目前不支持OS X上的所有标准文本处理功能。
这个特殊问题似乎是Cocoa Aqua Tk中已知错误的变种。在普通的Apple美国键盘上,您使用option U
+ <vowel>
来形成分配(例如,ä
)。看起来在美国国际键盘上,使用'
键而不是丢失的option u
。最新的ActiveState Tk 8.5版本(包括您已安装的版本)中有一个补丁,可防止Tk在这种情况下崩溃。您可以通过启动Mac OS X 10.6(/usr/bin/idle2.6
)附带的Apple提供的IDLE 2.6来了解它是如何“工作”的。尝试键入'
(使用国际键盘设置)或option U
(使用美国键盘设置)!补丁版本只是忽略了这种情况,而不是崩溃。
最好的办法是坚持使用US
或US Extended
键盘输入法。
答案 1 :(得分:0)
更改为“普通美国”不是一种解决方法,而是一种解决方案,除非您真的想因某种原因坚持使用美国国际版。以下是美国国际布局的some guidelines。