免责声明:我是个菜鸟。
我在我的OSX10.6上安装了Python3.2 (r32:88452)和ActiveTcl 8.5.9.2 (build 294317)。这两个安装都没有任何错误,而且我已经设法通过终端运行了一个.PY。它运行得很好。
我运行空闲,它不会显示任何错误。但是每当我按下引号键('),就什么都不会发生。与shift按下(")相同。字符只是不注册。同样的情况发生在‘后退’/倾斜键,移位按下或其他。
我用的是美国的国际键盘布局。
我试过打开键盘查看器。这两个键,单引号和反勾号,都是橙色的。(直到现在我才注意到这一点。)在任何其他应用程序中,无论何时单击它们,都会输入相应的字符--但是在Python空闲中不会发生任何事情。
对可能发生的事有什么想法吗?
附加信息:交互模式下的Python解释器(从终端运行)可以很好地注册两个键。此外,如果我尝试将键盘布局更改为普通的“U.S”,甚至空闲注册键;但这更像是一种解决办法,我想听听您的意见。
发布于 2011-04-26 23:26:25
空闲使用来自Python库的Tkinter来提供GUI功能。Tkinter是多平台Tk图形界面的接口,是Tcl/Tk的一部分.不幸的是,OS上的Aqua Tk目前并不支持OS上的所有标准文本处理功能。
这个特殊的问题似乎是Cocoa中已知bug的一个变种。在普通的AppleU.S键盘上,您可以使用option U + <vowel>来形成透气(例如,ä)。看起来,在美国国际键盘上,使用的是'键,而不是缺少的option u。在最近的ActiveState TK8.5版本(包括您已经安装的版本)中有一个补丁可以防止Tk在本例中崩溃。你可以看到它如何“工作”,启动苹果提供的空闲2.6,包括MacOSX10.6 (/usr/bin/idle2.6)。尝试在那里键入' (使用国际键盘设置)或option U (使用美国键盘设置)!补丁版本完全忽略了这种情况,而不是崩溃。
最好的方法是坚持使用US或US Extended键盘输入法。
发布于 2011-04-26 22:22:46
改变为“简单的美国”不是一个解决办法,而是一个解决办法,除非你真的想坚持美国的国际布局,因为某些原因。这里是美国国际版面上的一些准则。
https://stackoverflow.com/questions/5797046
复制相似问题