Python源码示例:PyQt5.QtCore.Qt.ArrowCursor()
示例1
def mouseReleaseEvent(self, event):
if event.button() == Qt.RightButton:
self.rubberBand.hide()
rb_rect = QRect(self._rb_origin, event.pos())
rb_center = rb_rect.center()
rb_size = rb_rect.size()
if abs(rb_size.width()) > 3 and abs(rb_size.height()) > 3:
viewport_size = self.viewport().geometry().size()
zoom_factor_x = abs(viewport_size.width() / rb_size.width())
zoom_factor_y = abs(viewport_size.height() / rb_size.height())
new_center = self.mapToScene(rb_center)
zoom_factor = min(zoom_factor_x, zoom_factor_y)
self.zoom_view(zoom_factor)
self.centerOn(new_center)
self.update_grid()
if event.button() == Qt.MidButton:
self.setCursor(Qt.ArrowCursor)
self._mousePressed = None
self.update_grid()
示例2
def eventFilter(self, obj, event):
if event.type() == QEvent.HoverMove:
if self.width() - event.pos().x() < 5:
self.setCursor(Qt.SizeHorCursor)
self.isCusorRightSide = True
elif self.height() - event.pos().y() < 5:
self.setCursor(Qt.SizeVerCursor)
self.isCusorDownSide = True
elif event.pos().x() < 5:
self.setCursor(Qt.SizeHorCursor)
self.isCusorLeftSide = True
elif not self.isSideClicked:
self.setCursor(Qt.ArrowCursor)
self.isCusorLeftSide = False
self.isCusorRightSide = False
self.isCusorDownSide = False
elif event.type() == QEvent.HoverEnter:
self.boderFlag = True
elif event.type() == QEvent.HoverLeave:
self.boderFlag = False
return super(FMoveableWidget, self).eventFilter(obj, event)
示例3
def _set_size_attributes(self):
"""Sets the size policies of frame"""
size_policy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
size_policy.setHorizontalStretch(0)
size_policy.setVerticalStretch(0)
size_policy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
self.setSizePolicy(size_policy)
self.setCursor(QCursor(Qt.ArrowCursor))
self.setFrameShape(QFrame.StyledPanel)
self.setFrameShadow(QFrame.Raised)
self.setLineWidth(1)
示例4
def mouseReleaseEvent(self, event):
# 鼠标释放事件
if hasattr(self, "dragPosition"):
del self.dragPosition
self.isSideClicked = False
self.setCursor(Qt.ArrowCursor)
示例5
def updateMouseStyle(self, stretchState):
"""
根据stretchState刷新鼠标的样式
:param stretchState:
:return:
"""
if stretchState == NO_SELECT:
self.setCursor(Qt.ArrowCursor)
elif stretchState == LEFT_TOP_RECT:
self.setCursor(Qt.SizeFDiagCursor)
elif stretchState == RIGHT_BOTTOM_RECT:
self.setCursor(Qt.SizeFDiagCursor)
elif stretchState == TOP_BORDER:
self.setCursor(Qt.SizeVerCursor)
elif stretchState == BOTTOM_BORDER:
self.setCursor(Qt.SizeVerCursor)
elif stretchState == RIGHT_TOP_RECT:
self.setCursor(Qt.SizeBDiagCursor)
elif stretchState == LEFT_BOTTOM_RECT:
self.setCursor(Qt.SizeBDiagCursor)
elif stretchState == LEFT_BORDER:
self.setCursor(Qt.SizeHorCursor)
elif stretchState == RIGHT_BORDER:
self.setCursor(Qt.SizeHorCursor)
else:
self.setCursor(Qt.ArrowCursor)
示例6
def mouseMoveEvent(self, event: QMouseEvent) -> None:
if self.count() > 0:
if self.indexAt(event.pos()).isValid():
self.setCursor(Qt.PointingHandCursor)
else:
self.setCursor(Qt.ArrowCursor)
super(VideoList, self).mouseMoveEvent(event)
示例7
def setArrowCursor(self):
self.setCursor(Qt.ArrowCursor)
示例8
def mouseReleaseEvent(self, event):
super(CColorStraw, self).mouseReleaseEvent(event)
# 设置鼠标样式为普通
self.setCursor(Qt.ArrowCursor)
self._scaleWindow.hide()
示例9
def eventFilter(self, obj, event):
"""事件过滤器,用于解决鼠标进入其它控件后还原为标准鼠标样式
"""
if isinstance(event, QEnterEvent):
self.setCursor(self.originalCusor or Qt.ArrowCursor)
return self.BaseClass.eventFilter(self, obj, event)
示例10
def ShowCursor(self):
"""Shows the cursor."""
vtk_cursor = self._Iren.GetRenderWindow().GetCurrentCursor()
qt_cursor = self._CURSOR_MAP.get(vtk_cursor, Qt.ArrowCursor)
self.setCursor(qt_cursor)
示例11
def ShowCursor(self):
"""Shows the cursor."""
vtk_cursor = self._Iren.GetRenderWindow().GetCurrentCursor()
qt_cursor = self._CURSOR_MAP.get(vtk_cursor, Qt.ArrowCursor)
self.setCursor(qt_cursor)
示例12
def returnCursorToNormal(self) -> None:
cursor: QCursor = QCursor(Qt.ArrowCursor)
QApplication.setOverrideCursor(cursor)
QApplication.changeOverrideCursor(cursor)
示例13
def normal_cursor(self):
# Returns the cursor to normal cursor
cursor = QCursor(Qt.ArrowCursor)
QApplication.setOverrideCursor(cursor)
QApplication.changeOverrideCursor(cursor)
示例14
def mouseMoveEvent(self, event):
cursor = QCursor(Qt.ArrowCursor)
QApplication.setOverrideCursor(cursor)
QApplication.changeOverrideCursor(cursor)
super().mouseMoveEvent(event)
示例15
def enterEvent(self, event):
self.setCursor(Qt.ArrowCursor)
super(TitleBar, self).enterEvent(event)
示例16
def eventFilter(self, obj, event):
"""事件过滤器,用于解决鼠标进入其它控件后还原为标准鼠标样式"""
if isinstance(event, QEnterEvent):
self.setCursor(Qt.ArrowCursor)
return super(FramelessWindow, self).eventFilter(obj, event)
示例17
def initCursor(self, cursors, parent=None):
# 记录默认的光标
self._oldCursor = Qt.ArrowCursor
self.setOldCursor(parent)
# 加载光标图片
self._cursorImages = [
QCursor(QPixmap(cursor)) for cursor in cursors]
self._cursorIndex = 0
self._cursorCount = len(self._cursorImages) - 1
# 创建刷新定时器
self._cursorTimeout = 200
self._cursorTimer = QTimer(parent)
self._cursorTimer.timeout.connect(self._doBusy)
示例18
def setOldCursor(self, parent=None):
self._oldCursor = (parent.cursor() or Qt.ArrowCursor) if parent else (
QApplication.instance().overrideCursor() or Qt.ArrowCursor)
示例19
def enterEvent(self, event):
"""重写鼠标进入事件"""
self.setCursor(Qt.ArrowCursor)
super(TitleBar, self).enterEvent(event)
示例20
def ShowCursor(self):
"""Shows the cursor."""
vtk_cursor = self._Iren.GetRenderWindow().GetCurrentCursor()
qt_cursor = self._CURSOR_MAP.get(vtk_cursor, Qt.ArrowCursor)
self.setCursor(qt_cursor)
示例21
def onScanClicked(self, pressed):
if self.btnScan.isChecked():
# Scanning is on. Turn red to indicate click would stop
if self.comboScanType.currentText() == 'Promiscuous Discovery':
ubertooth = True
if not self.usingRemoteAgent:
if not self.mainWin.hasUbertooth:
self.btnScan.setChecked(False)
return
else:
if not self.mainWin.hasRemoteUbertooth:
self.btnScan.setChecked(False)
return
else:
ubertooth = False
self.btnScan.setStyleSheet("background-color: rgba(255,0,0,255); border: none;")
self.btnScan.setText('&Stop scanning')
self.comboScanType.setEnabled(False)
if not self.mainWin.remoteAgentUp:
self.scanPromiscuous = ubertooth
self.bluetooth.startDiscovery(ubertooth)
else:
self.setCursor(Qt.WaitCursor)
errcode, errmsg = startRemoteBluetoothDiscoveryScan(self.remoteAgentIP, self.remoteAgentPort, ubertooth)
self.setCursor(Qt.ArrowCursor)
if errcode != 0:
QMessageBox.question(self, 'Error',"Could not start remote scan: " + errmsg, QMessageBox.Ok)
self.btnScan.setChecked(False)
self.btnScan.setStyleSheet("background-color: rgba(2,128,192,255); border: none;")
self.btnScan.setText('&Scan')
self.comboScanType.setEnabled(True)
return
self.btTimer.start(self.btTimerTimeout)
else:
self.btTimer.stop()
self.btnScan.setStyleSheet("background-color: rgba(2,128,192,255); border: none;")
self.btnScan.setText('&Scan')
self.comboScanType.setEnabled(True)
self.setCursor(Qt.WaitCursor)
if not self.mainWin.remoteAgentUp:
self.bluetooth.stopDiscovery()
else:
errcode, errmsg = stopRemoteBluetoothDiscoveryScan(self.remoteAgentIP, self.remoteAgentPort)
self.setCursor(Qt.ArrowCursor)
示例22
def _calculate(self):
"""重新计算并更新按钮
"""
if self.totalPages > self.totalButtons:
button1 = False
button5 = False
if self.currentPage - 1 > 3:
button1 = True
self._updateButton(1, -2)
else:
self._updateButton(1, 2)
self._updateButton(2, 3)
self._updateButton(3, 4)
self._updateButton(4, 5)
if self.totalPages - self.currentPage > 3:
button5 = True
self._updateButton(5, -1)
else:
self._updateButton(2, self.totalPages - 4)
self._updateButton(3, self.totalPages - 3)
self._updateButton(4, self.totalPages - 2)
self._updateButton(5, self.totalPages - 1)
if button1 and button5:
self._updateButton(2, self.currentPage - 1)
self._updateButton(3, self.currentPage)
self._updateButton(4, self.currentPage + 1)
for button in self._buttons:
page = button.property('page')
button.setEnabled(self.currentPage != page)
button.setCursor(
Qt.PointingHandCursor if button.isEnabled() else Qt.ArrowCursor)
self.buttonPrevious.setEnabled(self.currentPage > 1)
self.buttonNext.setEnabled(self.currentPage < self.totalPages)
# 这里ForbiddenCursor不会生效,这可能是一个Bug,当按钮不可用时忽略了鼠标样式
self.buttonPrevious.setCursor(
Qt.PointingHandCursor if self.buttonPrevious.isEnabled() else Qt.ForbiddenCursor)
self.buttonNext.setCursor(
Qt.PointingHandCursor if self.buttonNext.isEnabled() else Qt.ForbiddenCursor)
示例23
def mouseMoveEvent(self, event):
"""鼠标移动事件"""
super(FramelessWindow, self).mouseMoveEvent(event)
pos = event.pos()
xPos, yPos = pos.x(), pos.y()
wm, hm = self.width() - self.Margins, self.height() - self.Margins
if self.isMaximized() or self.isFullScreen():
self.Direction = None
self.setCursor(Qt.ArrowCursor)
return
if event.buttons() == Qt.LeftButton and self._pressed:
self._resizeWidget(pos)
return
if xPos <= self.Margins and yPos <= self.Margins:
# 左上角
self.Direction = LeftTop
self.setCursor(Qt.SizeFDiagCursor)
elif wm <= xPos <= self.width() and hm <= yPos <= self.height():
# 右下角
self.Direction = RightBottom
self.setCursor(Qt.SizeFDiagCursor)
elif wm <= xPos and yPos <= self.Margins:
# 右上角
self.Direction = RightTop
self.setCursor(Qt.SizeBDiagCursor)
elif xPos <= self.Margins and hm <= yPos:
# 左下角
self.Direction = LeftBottom
self.setCursor(Qt.SizeBDiagCursor)
elif 0 <= xPos <= self.Margins and self.Margins <= yPos <= hm:
# 左边
self.Direction = Left
self.setCursor(Qt.SizeHorCursor)
elif wm <= xPos <= self.width() and self.Margins <= yPos <= hm:
# 右边
self.Direction = Right
self.setCursor(Qt.SizeHorCursor)
elif self.Margins <= xPos <= wm and 0 <= yPos <= self.Margins:
# 上面
self.Direction = Top
self.setCursor(Qt.SizeVerCursor)
elif self.Margins <= xPos <= wm and hm <= yPos <= self.height():
# 下面
self.Direction = Bottom
self.setCursor(Qt.SizeVerCursor)