2017-05-05 59 views
0

我試圖用tkSimpledialog作爲一個更復雜的GUI的一部分接收密碼,但是如果提供的密碼包括從6,7,8,9,或0鍵,則在tkSimpledialog的輸出中記錄錯誤的符號。如果我在命令行上使用getpass.getpass()進行類似的調用,則會記錄正確的符號。tkSimpledialog在移位的數字鍵上記錄錯誤的符號

做筆記我使用的是英國的鍵盤,因此產生的符號應該是:

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

但不是我所得到的是:

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

所以它看起來幾乎像符號移動(在6-9範圍內是對的),但是在0鍵旁邊是「 - 」,其移位的符號是「_」。

任何想法?

回答

0

總之,這個問題引發了,因爲Tk認爲用戶正在使用德語鍵盤。用戶已經在Linux系統中設置了默認鍵盤是德語的首選項,但是Linux集羣忽略了這一事實並且強制鍵碼綁定成爲英式鍵盤。然而,儘管getpass.getpass()忽略了它,但儘管python忽略了它,但Tk似乎考慮了Linux內的偏好設置。