Python IDLE不接受引号

时间:2011-04-26 22:07:33

标签: python keyboard python-idle

免责声明:我是个菜鸟。

我在OSX 10.6上安装了Python 3.2(r32:88452)和ActiveTcl 8.5.9.2(build 294317)。两者都安装没有任何错误,我已经设法通过终端运行.PY。它运行正常。

我运行IDLE并且没有显示任何错误。但每当我按下引号键(')时,没有任何反应。与[shift]按下(“)相同。字符只是不注册。”反引号“/波形键,[shift]按下或其他方式也是如此。

我正在使用美国国际键盘布局。

我试过打开键盘查看器。两个键,单引号和“反引号”都是橙色的。 (直到现在我才注意到这一点。)在任何其他应用程序中,无论何时单击它们,都会输入相应的字符 - 但是在Python IDLE中没有任何反应。

关于可能发生的事情的任何想法?

附加信息:交互模式下的Python解释器(从终端运行)注册两个键就好了。此外,如果我尝试将键盘布局更改为普通的“美国”,即使IDLE也会记录键;但这更像是一种解决方法,我想听听你的意见。

2 个答案:

答案 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(使用美国键盘设置)!补丁版本只是忽略了这种情况,而不是崩溃。

最好的办法是坚持使用USUS Extended键盘输入法。

答案 1 :(得分:0)

更改为“普通美国”不是一种解决方法,而是一种解决方案,除非您真的想因某种原因坚持使用美国国际版。以下是美国国际布局的some guidelines