本文整理汇总了Python中PyQt5.QtWidgets.QWidget.keyPressEvent方法的典型用法代码示例。如果您正苦于以下问题:Python QWidget.keyPressEvent方法的具体用法?Python QWidget.keyPressEvent怎么用?Python QWidget.keyPressEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QWidget
的用法示例。
在下文中一共展示了QWidget.keyPressEvent方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
self.key = ""
if event.key() == Qt.Key_Home:
self.key = "Home"
elif event.key() == Qt.Key_End:
self.key = "End"
elif event.key() == Qt.Key_PageUp:
if event.modifiers() & Qt.ControlModifier:
self.key = "Ctrl+PageUp"
else:
self.key = "PageUp"
elif event.key() == Qt.Key_PageDown:
if event.modifiers() & Qt.ControlModifier:
self.key = "Ctrl+PageDown"
else:
self.key = "PageDown"
elif Qt.Key_A <= event.key() <= Qt.Key_Z:
if event.modifiers() & Qt.ShiftModifier:
self.key = "Shift+"
self.key += event.text()
if self.key:
self.key = self.key
self.update()
else:
QWidget.keyPressEvent(self, event)
示例2: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
QWidget.keyPressEvent(self, event)
if not event.isAccepted() and event.key() == Qt.Key_Escape:
if self.layoutEditor.isVisible():
self.leaveLayoutEditor()
self.actionChangeLayout.setChecked(False)
else:
self.close()
示例3: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
taskList = {
Qt.Key_Plus: lambda: self.scaleView(1.2),
Qt.Key_Minus: lambda: self.scaleView(1 / 1.2)}
if(event.key() in taskList):
taskList[event.key()]()
else:
QWidget.keyPressEvent(self, event)
示例4: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if event.key() == Qt.Key_Escape:
self.editor.setText(self.task.text)
self.layout.setCurrentIndex(0)
self.parent().setFocus()
return
elif event.key() in (Qt.Key_Enter, Qt.Key_Return):
self.editFinished()
return
QWidget.keyPressEvent(self, event)
示例5: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if event.key() in [Qt.Key_Escape, Qt.Key_F11] and \
not self._locked:
# print("Leaving fullScreenEditor via keyPressEvent", flush=True)
self.showNormal()
self.close()
elif (event.modifiers() & Qt.AltModifier) and \
event.key() in [Qt.Key_PageUp, Qt.Key_PageDown, Qt.Key_Left, Qt.Key_Right]:
if event.key() in [Qt.Key_PageUp, Qt.Key_Left]:
success = self.switchPreviousItem()
if event.key() in [Qt.Key_PageDown, Qt.Key_Right]:
success = self.switchNextItem()
if not success:
QWidget.keyPressEvent(self, event)
else:
QWidget.keyPressEvent(self, event)
示例6: keyReleaseEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyReleaseEvent(self, e):
if not e.isAutoRepeat():
obj = None
if e.key() == Qt.Key_Up:
obj = self._up
elif e.key() == Qt.Key_Left:
obj = self._mid_left
elif e.key() == Qt.Key_Right:
obj = self._mid_right
elif e.key() == Qt.Key_Down:
obj = self._down
if obj != None:
obj.setDown(False)
obj.released.emit()
else:
QWidget.keyPressEvent(self, e)
else:
QWidget.keyReleaseEvent(self, e)
示例7: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if not self.isStarted or self.curPiece.shape() == Tetrominoes.NoShape:
QWidget.keyPressEvent(self, event)
return
key = event.key()
if key == Qt.Key_P:
self.pause()
return
if self.isPaused:
return
elif key == Qt.Key_Left:
self.tryMove(self.curPiece, self.curX - 1, self.curY)
elif key == Qt.Key_Right:
self.tryMove(self.curPiece, self.curX + 1, self.curY)
elif key == Qt.Key_Down or key == Qt.Key_Space:
self.dropDown()
elif key == Qt.Key_Up:
self.tryMove(self.curPiece.rotatedLeft(), self.curX, self.curY)
elif key == Qt.Key_D:
self.oneLineDown()
else:
QWidget.keyPressEvent(self, event)
示例8: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if event.key() in [Qt.Key_Up, Qt.Key_Down]:
self.list.keyPressEvent(event)
else:
QWidget.keyPressEvent(self, event)
示例9: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if not event.isAutoRepeat():
qKey = str(event.key())
if qKey in kMidiKeyboard2KeyMap.keys():
self.sendNoteOn(kMidiKeyboard2KeyMap.get(qKey))
QWidget.keyPressEvent(self, event)
示例10: keyPressEvent
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import keyPressEvent [as 别名]
def keyPressEvent(self, event):
if event.key() in [Qt.Key_Escape, Qt.Key_F11] and \
not self._locked:
self.close()
else:
QWidget.keyPressEvent(self, event)