我试图使用tkSimpledialog作为更复杂的图形用户界面的一部分接收密码,但是如果提供的密码包括从6、7、8、9或0键移出的符号,则tkSimpledialog的输出中记录了错误的符号。如果我在命令行上使用getpass.getpass()执行类似的调用,则会记录正确的符号。
请注意,我使用的是英国键盘,因此产生的符号应该是:
6 - '^'
7 - '&'
8 - '*'
9 - '('
0 - ')'
但我得到的却是:
6 - '&'
7 - '*'
8 - '('
9 - ')'
0 - '='
因此,符号似乎被移动到一个键上(在6-9范围内是这样),但是0键旁边是"-",移动的符号是"_“。
有什么想法吗?
发布于 2017-05-05 17:24:10
简而言之,出现这个问题是因为Tk认为用户使用的是德国键盘。用户在Linux系统中设置了默认键盘为德国键盘的首选项,但是linux集群忽略了这一事实,并强迫键绑定成为英国键盘。然而,Tk似乎考虑了Linux中的首选项集,尽管python忽略了它,尽管getpass.getpass()忽略了它。
https://stackoverflow.com/questions/43808643
复制相似问题