2017-05-05 11 views
0

もっと複雑なGUIの一部としてパスワードを受け取るためにtkSimpledialogを使用しようとしていますが、提示されたパスワードに6,7,8,9、または0キーを押すと、間違ったシンボルがtkSimpledialogの出力に記録されます。コマンドラインでgetpass.getpass()を使用して同様の呼び出しを行うと、正しいシンボルが記録されます。結果のシンボルがあるべきように、私は英国のキーボードを使用しています注 tkSimpledialogがシフトされた数字キーに間違ったシンボルを記録する

、:

6 - '^' 
7 - '&' 
8 - '*' 
9 - '(' 
0 - ')' 

しかし、その代わりに、私が得るものです:

6 - '&' 
7 - '*' 
8 - '(' 
9 - ')' 
0 - '=' 

だからそれはほとんどのシンボルのように思える

が移動しています1つのキー(これは6-9の範囲に当てはまる)上にありますが、0キーの隣には " - "があり、そのシフト記号は "_"です。

アイデア?

答えて

0

要するに、Tkはユーザーがドイツ語のキーボードを使用していると考えていたため、この問題が発生しました。ユーザはデフォルトのキーボードがドイツ語であるというLinuxシステムの設定をしていましたが、Linuxクラスタはこの事実を無視し、キーバインディングを英国のキーボードに強制しました。しかし、Tkは、getpass.getpass()を無視しても、Pythonが無視するにもかかわらず、Linux内で設定された設定を考慮しているようです。

関連する問題