【发布时间】:2017-10-22 07:29:38
【问题描述】:
所以,我正在编写一个简单的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()]
【问题讨论】:
-
你为什么不使用pyhook?
标签: python windows python-3.x pyqt5