Python源码示例:PyQt5.QtCore.Qt.Key_H()
示例1
def eventFilter(self, obj, e):
if obj == self.command and e.type() == QEvent.KeyPress:
history = self.device.history
if e.modifiers() & Qt.ControlModifier:
if e.key() == Qt.Key_H:
d = DeviceConsoleHistory(self.device.env.devices)
if d.exec_() == QDialog.Accepted:
self.command.setText(d.command)
elif len(history) > 0:
if e.key() == Qt.Key_E:
self.command.setText(history[0])
if e.key() == Qt.Key_Down:
self.command.completer().setModel(QStringListModel(history))
self.command.setText(' ')
self.command.completer().complete()
return False
return QDockWidget.eventFilter(self, obj, e)
示例2
def wheelEvent(self, event):
delta = round(event.angleDelta().y()/120)
# zoom
if self.key == Qt.Key_Control:
self.set_zoom_delta(delta)
# width
elif self.key == Qt.Key_X:
if not self.lock_width:
self.set_width_delta(delta)
# offset (fine)
elif self.key == Qt.Key_Shift:
self.set_offset_delta(delta)
if self.get_sync_state():
ida_kernwin.jumpto(self.base + self.offs)
self.activateWindow()
self.setFocus()
elif self.key == Qt.Key_H:
if not self.lock_width:
less = delta < 0
w = -8 if less else 8
self.set_pixel_qty_per_line((self.get_pixel_qty_per_line() & 0xFFFFFFF8) + w)
# offset (coarse)
else:
self.set_offset_delta(delta * self.get_pixel_qty_per_line())
if self.get_sync_state():
ida_kernwin.jumpto(self.base + self.offs)
self.activateWindow()
self.setFocus()
self.statechanged.emit()
self.repaint()
return
示例3
def mouseMoveEvent(self, event):
x = event.pos().x()
y = event.pos().y()
within_graph = (x >= self.rect_x and x < self.rect_x + self.rect_x_width)
"""(sx1, sy1), (sx2, sy2) = self.slider_coords
on_slider = (x >= sx1 and x< sx2 and y>= sy1 and y < sy2)"""
update_state = self.is_dragging_graph or within_graph
if self.is_dragging_graph:
# zoom
if self.key == Qt.Key_Control:
self.set_zoom_delta(-1 if y > self.prev_mouse_y else 1)
# width
elif self.key == Qt.Key_X:
if not self.lock_width:
self.set_width_delta(-1 if y > self.prev_mouse_y else 1)
elif self.key == Qt.Key_H:
if not self.lock_width:
less = y > self.prev_mouse_y
delta = -16 if less else 16
self.set_pixel_qty_per_line((self.get_pixel_qty_per_line() & 0xFFFFFFF0) + delta)
# scrolling (offset)
elif y != self.prev_mouse_y:
# offset (fine)
delta = y - self.prev_mouse_y
# offset (coarse)
if self.key != Qt.Key_Shift:
delta *= self.get_pixel_qty_per_line()
self.set_offset_delta(delta)
elif within_graph:
self._update_mouse_coords(event.pos())
self.mouseOffs = self._get_offs_by_pos(event.pos())
if self.link_pixel and self.highlight_cursor:
highlight_item(ida_bytes.get_item_head(self.get_cursor_address()))
elif self.highlight_cursor:
unhighlight_item()
self.setToolTip(self.fm.on_get_tooltip(self.get_address(), self.get_pixel_qty(), self.mouseOffs))
if update_state:
self.prev_mouse_y = y
self.x = x
self.statechanged.emit()
self.repaint()
return