2024-05-19 14:14:26 发布
网友
我想打印键值,比如['a','b',…,'f11','f12']
def keyPressEvent(self,e): print(e.key())
但当我按f1键时,功能键,然后它打印出值16777264。 如何将16777264转换为f1
key()返回可以使用^{}枚举匹配的int
key()
Qt提供了F键标识符(最多F35),因此您可以构建一个简单的映射并在键事件中检查它
class FKeyTest(QtWidgets.QWidget): fKeys = {} for f in range(1, 36): fKeys[getattr(QtCore.Qt, 'Key_F{}'.format(f))] = 'F{}'.format(f) def keyPressEvent(self, event): key = self.fKeys.get(event.key()) if key: print(key)
将其与QtCore.Qt.Key枚举进行比较See here
if e.key() == QtCore.Qt.Key_F1:
此外,如果您需要任意按键的名称,可以使用:
from PyQt5.QtCore import Qt keys = {} for key, value in vars(Qt).items(): if isinstance(value, Qt.Key): keys[value] = key keys[16777264] >>> 'Key_F1'
key()
返回可以使用^{Qt提供了F键标识符(最多F35),因此您可以构建一个简单的映射并在键事件中检查它
将其与QtCore.Qt.Key枚举进行比较See here
if e.key() == QtCore.Qt.Key_F1:
此外,如果您需要任意按键的名称,可以使用:
相关问题 更多 >
编程相关推荐