因此,我正在编写一个简单的CHIP8模拟器。它显然需要一些关键的投入。问题是,在启动应用程序系统时,语言会自动从英语变成俄语,并且应用程序停止用字母来响应键(数字工作正常)。
我怎样才能改变这种行为?也许,在下面的字典中添加更多的键会有帮助,但是我可以在PyQT中找到关于俄语键的任何信息。或者有什么功能,比如sys.change_system_language
下面是一个代码,它负责键映射
KEYBOARD = {
Qt.Key_1: 1,
Qt.Key_2: 2,
Qt.Key_3: 3,
Qt.Key_4: 4,
Qt.Key_5: 5,
Qt.Key_6: 6,
Qt.Key_7: 7,
Qt.Key_8: 8,
Qt.Key_9: 9,
Qt.Key_0: 0,
Qt.Key_A: 10,
Qt.Key_B: 11,
Qt.Key_C: 12,
Qt.Key_D: 13,
Qt.Key_E: 14,
Qt.Key_F: 15,
}这是主要窗口:
class GameWindow(QMainWindow):
def __init__(self, rom, parent=None):
super().__init__(parent)
self.game = CHIP8()
# more code here
def keyPressEvent(self, e):
if e.key() in KEYBOARD:
self.game.key_pressed = KEYBOARD[e.key()]发布于 2018-06-21 14:28:37
问题是,当字母"Q“和"Й”在同一个按钮上时,它们的数值是不同的。因此,要使一切正常工作,我需要添加16个新的键值对(通过为每个按钮调用print(e.key())来获取所有俄罗斯按钮的值)。但我刚把键盘默认语言换成了英语:)
https://stackoverflow.com/questions/46871570
复制相似问题