Python源码示例:PyQt5.QtCore.Qt.PointingHandCursor()
示例1
def __init__(self, parent=None):
super(SearchLineEdit, self).__init__()
self.setObjectName("SearchLine")
self.parent = parent
self.setMinimumSize(218, 20)
with open('QSS/searchLine.qss', 'r') as f:
self.setStyleSheet(f.read())
self.button = QPushButton(self)
self.button.setMaximumSize(13, 13)
self.button.setCursor(QCursor(Qt.PointingHandCursor))
self.setTextMargins(3, 0, 19, 0)
self.spaceItem = QSpacerItem(150, 10, QSizePolicy.Expanding)
self.mainLayout = QHBoxLayout()
self.mainLayout.addSpacerItem(self.spaceItem)
# self.mainLayout.addStretch(1)
self.mainLayout.addWidget(self.button)
self.mainLayout.addSpacing(10)
self.mainLayout.setContentsMargins(0, 0, 0, 0)
self.setLayout(self.mainLayout)
示例2
def __init__(self, types, parent=None, color=Qt.black):
"""
:param types: 渐变类型(0-透明,1-彩虹)
:param parent:
"""
super(CColorSlider, self).__init__(Qt.Horizontal, parent)
self.setObjectName('Custom_Color_Slider')
self.setCursor(Qt.PointingHandCursor)
self.valueChanged.connect(self.onValueChanged)
self._types = types
self._color = color
self._isFirstShow = True
self._imageRainbow = None # 彩虹背景图
self._imageAlphaColor = None # 带颜色透明图
self._imageAlphaTmp = None # 透明方格
self._imageAlpha = None # 带颜色透明背景和方格合成图
self._imageCircle = None # 圆形滑块图
self._imageCircleHover = None # 圆形滑块悬停图
self.setToolTip('彩虹色' if self._types == self.TypeRainbow else '透明度')
示例3
def __init__(self, colors, *args, **kwargs):
super(CColorItems, self).__init__(*args, **kwargs)
self.setItemDelegate(StyledItemDelegate(self))
self.setEditTriggers(self.NoEditTriggers)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setFlow(self.LeftToRight)
self.setWrapping(True)
self.setResizeMode(self.Adjust)
self.setSpacing(6)
self.setCursor(Qt.PointingHandCursor)
self.setFrameShape(self.NoFrame)
self._model = QStandardItemModel(self)
self.setModel(self._model)
for color in colors:
self.addColor(color)
示例4
def initUI(self):
# ================== WIDGET QPUSHBUTTON ====================
buttonRedondo = QPushButton("2019", self)
buttonRedondo.setToolTip("Botón redondo")
buttonRedondo.setCursor(Qt.PointingHandCursor)
buttonRedondo.setFixedWidth(58)
buttonRedondo.setFixedHeight(58)
buttonRedondo.setMask(QRegion(QRect(-1, -1, 59, 59), QRegion.Ellipse))
buttonRedondo.setStyleSheet("QPushButton {background-color: yellow; border: 1.8px solid black; "
"border-radius: 29.4px} QPushButton:pressed "
"{background-color: white;}")
buttonRedondo.move(171, 80)
# =================== EVENTO QPUSHBUTTON ===================
buttonRedondo.clicked.connect(self.botonPresionado)
# ======================= FUNCIONES ============================
示例5
def initUI(self):
# ==================== WIDGET QLABEL =======================
self.labelImagen = QLabelClickable(self)
self.labelImagen.setGeometry(15, 15, 118, 130)
self.labelImagen.setToolTip("Imagen")
self.labelImagen.setCursor(Qt.PointingHandCursor)
self.labelImagen.setStyleSheet("QLabel {background-color: white; border: 1px solid "
"#01DFD7; border-radius: 5px;}")
self.pixmapImagen = QPixmap("Qt.png").scaled(112, 128, Qt.KeepAspectRatio,
Qt.SmoothTransformation)
self.labelImagen.setPixmap(self.pixmapImagen)
self.labelImagen.setAlignment(Qt.AlignCenter)
# ===================== EVENTO QLABEL ======================
# Llamar función al hacer clic o doble clic sobre el label
self.labelImagen.clicked.connect(self.Clic)
# ======================= FUNCIONES ============================
示例6
def __init__(self, *args, **kwargs):
"""Same constructor as QLineEdit + config validator
"""
self.url = "https://eomys.com/"
# Call the QLabel constructor
super(HelpButton, self).__init__(*args, **kwargs)
self.setCursor(QCursor(Qt.PointingHandCursor))
self.setPixmap(QPixmap(":/images/images/icon/help_16.png"))
示例7
def __init__(self, parent=None):
super(LogsPage, self).__init__(parent)
self.parent = parent
self.setObjectName('settingslogspage')
verboseCheckbox = QCheckBox('Enable verbose logging', self)
verboseCheckbox.setToolTip('Detailed log ouput to log file and console')
verboseCheckbox.setCursor(Qt.PointingHandCursor)
verboseCheckbox.setChecked(self.parent.parent.parent.verboseLogs)
verboseCheckbox.stateChanged.connect(self.setVerboseLogs)
verboseLabel = QLabel('''
<b>ON:</b> includes detailed logs from video player (MPV) and backend services
<br/>
<b>OFF:</b> includes errors and important messages to log and console
''', self)
verboseLabel.setObjectName('verboselogslabel')
verboseLabel.setTextFormat(Qt.RichText)
verboseLabel.setWordWrap(True)
logsLayout = QVBoxLayout()
logsLayout.addWidget(verboseCheckbox)
logsLayout.addWidget(verboseLabel)
logsGroup = QGroupBox('Logging')
logsGroup.setLayout(logsLayout)
mainLayout = QVBoxLayout()
mainLayout.setSpacing(15)
mainLayout.addWidget(logsGroup)
mainLayout.addStretch(1)
self.setLayout(mainLayout)
示例8
def keyPressEvent(self, event: QKeyEvent) -> None:
qApp.sendEvent(self.parent, event)
# def mouseMoveEvent(self, event: QMouseEvent) -> None:
# opt = QStyleOptionSlider()
# self.initStyleOption(opt)
# handle = self.style().subControlRect(QStyle.CC_Slider, opt, QStyle.SC_SliderHandle, self)
# if handle.x() <= event.pos().x() <= (handle.x() + handle.width()):
# self.setCursor(Qt.PointingHandCursor)
# self._handleHover = True
# else:
# self.unsetCursor()
# self._handleHover = False
# self.initStyle()
# super(VideoSlider, self).mouseMoveEvent(event)
示例9
def __init__(self, stream_index: int, tooltip: str, parent):
super(StreamSelectorCheckBox, self).__init__(parent)
self.parent = parent
self.setObjectName('streamcheckbox')
self.setCursor(Qt.PointingHandCursor)
self.setToolTip(tooltip)
self.setChecked(self.parent.config[stream_index])
self.stateChanged.connect(lambda state, index=stream_index: self.updateConfig(index, state == Qt.Checked))
示例10
def __init__(self, text: str, checkbox: StreamSelectorCheckBox, is_icon: bool=False, parent=None):
super(StreamSelectorLabel, self).__init__(parent)
self.checkbox = checkbox
self.setAttribute(Qt.WA_Hover, True)
self.setText(text)
self.setToolTip(self.checkbox.toolTip())
self.setCursor(Qt.PointingHandCursor)
if is_icon:
self.setFixedSize(18, 18)
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
else:
self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed)
示例11
def enterEvent(self, event): # pylint: disable=invalid-name
self.setCursor(Qt.PointingHandCursor)
super().enterEvent(event)
示例12
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setCursor(QCursor(Qt.PointingHandCursor))
self.full_text = ""
示例13
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setCursor(QCursor(Qt.PointingHandCursor))
示例14
def __init__(self, message, button_texts, radio_mode=False):
super().__init__()
self.setupUi(self)
self.status = None
self.dialog = None
self.label_message.setText(message)
for text in button_texts:
b = Button(text)
b.clicked_self.connect(self._on_button_clicked)
b.setCursor(Qt.PointingHandCursor)
if radio_mode:
self.layout_radios.addWidget(b)
else:
self.layout_buttons.insertWidget(1, b)
示例15
def __init__(self, *args, **kwargs):
super(CSlider, self).__init__(*args, **kwargs)
self.setCursor(Qt.PointingHandCursor)
self.setStyleSheet(Style)
示例16
def __init__(self, *args, **kwargs):
super(TestCFramelessBase, self).__init__(*args, **kwargs)
self.resize(500, 400)
layout = QVBoxLayout(self)
layout.setSpacing(0)
# 添加自定义标题栏
layout.addWidget(CTitleBar(self, title="CTitleBar"))
layout.addWidget(QLineEdit('输入框', self))
# 底部空白占位
layout.addWidget(
QWidget(self, objectName='bottomWidget', cursor=Qt.PointingHandCursor))
示例17
def initUI(self):
# ==================== WIDGET QLABEL =======================
self.labelImagen = QLabelClickable(self)
self.labelImagen.setGeometry(15, 15, 118, 130)
self.labelImagen.setToolTip("Imagen")
self.labelImagen.setCursor(Qt.PointingHandCursor)
self.labelImagen.setStyleSheet("QLabel {background-color: white; border: 1px solid "
"#01DFD7; border-radius: 5px;}")
self.labelImagen.setAlignment(Qt.AlignCenter)
# ================= WIDGETS QPUSHBUTTON ====================
buttonSeleccionar = QPushButton("Seleccionar", self)
buttonSeleccionar.setToolTip("Seleccionar imagen")
buttonSeleccionar.setCursor(Qt.PointingHandCursor)
buttonSeleccionar.setGeometry(143, 15, 120, 25)
buttonEliminar = QPushButton("Eliminar", self)
buttonEliminar.setToolTip("Eliminar imagen")
buttonEliminar.setCursor(Qt.PointingHandCursor)
buttonEliminar.setGeometry(143, 45, 120, 25)
# ===================== EVENTO QLABEL ======================
# Llamar función al hacer clic sobre el label
self.labelImagen.clicked.connect(self.seleccionarImagen)
# ================== EVENTOS QPUSHBUTTON ===================
buttonSeleccionar.clicked.connect(self.seleccionarImagen)
buttonEliminar.clicked.connect(lambda: self.labelImagen.clear())
# ======================= FUNCIONES ============================
示例18
def mouseMoveEvent(self, event: QMouseEvent) -> None:
pattern = re.compile(FOLDING_PATTERN)
block: QTextBlock = self.editor.getBlockUnderCursor(event)
if pattern.match(block.text()):
cursor: QCursor = QCursor(Qt.PointingHandCursor)
QApplication.setOverrideCursor(cursor)
QApplication.changeOverrideCursor(cursor)
else:
self.returnCursorToNormal()
示例19
def change_cursor(self):
# Changes the cursor to indicate that our QAction is clickable
cursor = QCursor(Qt.PointingHandCursor)
QApplication.setOverrideCursor(cursor)
QApplication.changeOverrideCursor(cursor)
示例20
def __init__(self, cover_path, cover_title, video_url, *args, **kwargs):
super(CoverLabel, self).__init__(*args, **kwargs)
# super(CoverLabel, self).__init__(
# '<html><head/><body><img src="{0}"/></body></html>'.format(os.path.abspath(cover_path)), *args, **kwargs)
self.setCursor(Qt.PointingHandCursor)
self.setScaledContents(True)
self.setMinimumSize(220, 308)
self.setMaximumSize(220, 308)
self.cover_path = cover_path
self.cover_title = cover_title
self.video_url = video_url
self.setPixmap(QPixmap(cover_path))
示例21
def __init__(self, cover_path, cover_title, video_url, *args, **kwargs):
super(CoverLabel, self).__init__(*args, **kwargs)
self.setCursor(Qt.PointingHandCursor)
self.setScaledContents(True)
self.setMinimumSize(220, 308)
self.setMaximumSize(220, 308)
self.cover_path = cover_path
self.cover_title = cover_title
self.video_url = video_url
self.setPixmap(QPixmap(cover_path))
示例22
def __init__(self, cover_path, cover_title, video_url, *args, **kwargs):
super(CoverLabel, self).__init__(*args, **kwargs)
# super(CoverLabel, self).__init__(
# '<html><head/><body><img src="{0}"/></body></html>'.format(os.path.abspath(cover_path)), *args, **kwargs)
self.setCursor(Qt.PointingHandCursor)
self.setScaledContents(True)
self.setMinimumSize(220, 308)
self.setMaximumSize(220, 308)
self.cover_path = cover_path
self.cover_title = cover_title
self.video_url = video_url
self.setPixmap(QPixmap(cover_path))
示例23
def mouseMoveEvent(self, e: QMouseEvent):
index = self.indexAt(e.pos())
if self.model().link_index(index):
self.setCursor(Qt.PointingHandCursor)
else:
self.unsetCursor()
示例24
def botaoTabela(self, tabela, row, col, funcao, bg):
item = QtWidgets.QPushButton()
# item.setFixedWidth(30)
# item.setFixedHeight(30)
item.setCursor(QtGui.QCursor(Qt.PointingHandCursor))
item.setFocusPolicy(Qt.NoFocus)
item.setFlat(Qt.NoItemFlags)
item.setStyleSheet("QPushButton{\n"
"background-color: #1E87F0;\n"
"border-radius: 2px;\n"
"padding: 2px;\n"
"color: #FFF;\n"
"font: 10px \"Tahoma\" Bold\n"
"}\n"
"QPushButton:hover{\n"
"background-color: #40a286\n"
"}")
item.setText("EDITAR")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(
self.resourcepath('Images/editar.png')),
QtGui.QIcon.Normal, QtGui.QIcon.Off)
item.setIcon(icon1)
tabela.setCellWidget(row, col, item)
item.clicked.connect(funcao)
# Botão Remove Item
示例25
def botaoRemoveItem(self, tabela, row, col, funcao, bg):
item = QtWidgets.QPushButton()
# item.setFixedWidth(30)
# item.setFixedHeight(30)
item.setCursor(QtGui.QCursor(Qt.PointingHandCursor))
item.setFocusPolicy(Qt.NoFocus)
item.setFlat(Qt.NoItemFlags)
item.setStyleSheet("QPushButton{\n"
"background-color: " + bg + ";\n"
"border-radius: 2px;\n"
"padding: 2px;\n"
"}\n"
"QPushButton:hover{\n"
"background-color: #40a286\n"
"}")
item.setText("")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(
self.resourcepath('Images/edit-delete.png')),
QtGui.QIcon.Normal, QtGui.QIcon.Off)
item.setIcon(icon1)
tabela.setCellWidget(row, col, item)
item.clicked.connect(funcao)
# data e Status entrega tabela compra / venda
示例26
def botaoReceberParcela(self, tabela, row, col, funcao, texto, status):
item = QtWidgets.QPushButton()
# item.setFixedWidth(70)
# item.setFixedHeight(30)
item.setCursor(QtGui.QCursor(Qt.PointingHandCursor))
if status == 1:
item.setDisabled(True)
item.setFocusPolicy(Qt.NoFocus)
item.setFlat(Qt.NoItemFlags)
item.setStyleSheet("QPushButton{\n"
"background-color: #7AB32E;\n"
"border-radius: 2px;\n"
"padding: 2px;\n"
"border: none;\n"
"text-transform: uppercase;\n"
"font: 10px \"Arial\";\n"
"}\n"
"QPushButton:hover{\n"
"background-color: #40a286\n"
"}"
)
item.setText(texto)
font = QtGui.QFont()
font.setFamily("Tahoma")
font.setPointSize(10)
item.setFont(font)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(
self.resourcepath('Images/money.png')),
QtGui.QIcon.Normal, QtGui.QIcon.Off)
item.setIcon(icon1)
tabela.setCellWidget(row, col, item)
item.clicked.connect(funcao)
# Input receber/pagar parcela compra e venda
示例27
def __init__(self, filename: str, filesize: str, runtime: str, icon: str, parent=None):
super(JobCompleteNotification, self).__init__(icon, parent)
pencolor = '#C681D5' if self.theme == 'dark' else '#642C68'
self.filename = filename
self.filesize = filesize
self.runtime = runtime
self.parent = parent
self.title = "Your media file is ready!"
self.message = '''
<style>
h1 {{
color: {labelscolor};
font-family: "Futura LT", sans-serif;
font-weight: normal;
text-align: center;
}}
table.info {{
margin: 6px;
padding: 4px 2px;
font-family: "Noto Sans", sans-serif;
}}
td.label {{
font-weight: bold;
color: {labelscolor};
text-transform: lowercase;
text-align: right;
padding-right: 5px;
font-size: 14px;
}}
td.value {{
color: {valuescolor};
font-size: 14px;
}}
</style>
<h1>{heading}</h1>
<table border="0" class="info" cellpadding="2" cellspacing="0" align="left">
<tr>
<td width="20%%" class="label"><b>File:</b></td>
<td width="80%%" class="value" nowrap>{filename}</td>
</tr>
<tr>
<td width="20%%" class="label"><b>Size:</b></td>
<td width="80%%" class="value">{filesize}</td>
</tr>
<tr>
<td width="20%%" class="label"><b>Runtime:</b></td>
<td width="80%%" class="value">{runtime}</td>
</tr>
</table>'''.format(labelscolor=pencolor,
valuescolor=('#EFF0F1' if self.theme == 'dark' else '#222'),
heading=self._title,
filename=os.path.basename(self.filename),
filesize=self.filesize,
runtime=self.runtime)
playButton = QPushButton(QIcon(':/images/complete-play.png'), 'Play', self)
playButton.setFixedWidth(82)
playButton.clicked.connect(self.playMedia)
playButton.setCursor(Qt.PointingHandCursor)
self.buttons.append(playButton)
示例28
def __init__(self, jobs_ctx, event_bus, config, minimize_on_close: bool = False, **kwargs):
super().__init__(**kwargs)
self.setupUi(self)
self.setMenuBar(None)
self.jobs_ctx = jobs_ctx
self.event_bus = event_bus
self.config = config
self.minimize_on_close = minimize_on_close
self.force_close = False
self.need_close = False
self.event_bus.connect(CoreEvent.GUI_CONFIG_CHANGED, self.on_config_updated)
self.setWindowTitle(_("TEXT_PARSEC_WINDOW_TITLE_version").format(version=PARSEC_VERSION))
self.foreground_needed.connect(self._on_foreground_needed)
self.new_instance_needed.connect(self._on_new_instance_needed)
self.tab_center.tabCloseRequested.connect(self.close_tab)
self.menu_button = Button()
self.menu_button.setCursor(Qt.PointingHandCursor)
self.menu_button.setIcon(QIcon(":/icons/images/material/menu.svg"))
self.menu_button.setIconSize(QSize(24, 24))
self.menu_button.setText(_("ACTION_MAIN_MENU_SHOW"))
self.menu_button.setObjectName("MenuButton")
self.menu_button.setProperty("color", QColor(0x00, 0x92, 0xFF))
self.menu_button.setProperty("hover_color", QColor(0x00, 0x70, 0xDD))
self.menu_button.setStyleSheet(
"#MenuButton {background: none; border: none; color: #0092FF;}"
"#MenuButton:hover {color: #0070DD;}"
)
self.menu_button.apply_style()
self.menu_button.clicked.connect(self._show_menu)
self.tab_center.setCornerWidget(self.menu_button, Qt.TopRightCorner)
self.add_tab_button = Button()
self.add_tab_button.setCursor(Qt.PointingHandCursor)
self.add_tab_button.setIcon(QIcon(":/icons/images/material/add.svg"))
self.add_tab_button.setIconSize(QSize(24, 24))
self.add_tab_button.setProperty("color", QColor(0x00, 0x92, 0xFF))
self.add_tab_button.setProperty("hover_color", QColor(0x00, 0x70, 0xDD))
self.add_tab_button.setStyleSheet("background: none; border: none;")
self.add_tab_button.apply_style()
self.add_tab_button.clicked.connect(self._on_add_instance_clicked)
self.tab_center.setCornerWidget(self.add_tab_button, Qt.TopLeftCorner)
self.tab_center.currentChanged.connect(self.on_current_tab_changed)
self._define_shortcuts()
self.ensurePolished()
示例29
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)
示例30
def initUI(self):
# ==================== WIDGET QLABEL =======================
self.labelImagen = QLabelClickable(self)
self.labelImagen.setGeometry(15, 15, 168, 180)
self.labelImagen.setToolTip("Imagen")
self.labelImagen.setCursor(Qt.PointingHandCursor)
self.labelImagen.setStyleSheet("QLabel {background-color: white; border: 1px solid "
"#01DFD7; border-radius: 2px;}")
self.labelImagen.setAlignment(Qt.AlignCenter)
# ==================== WIDGETS QLABEL ======================
labelNombre = QLabel("Nombre de usuario", self)
labelNombre.move(193, 15)
# ================== WIDGETS QLINEEDIT =====================
self.lineEditNombre = QLineEdit(self)
self.lineEditNombre.setGeometry(193, 30, 192, 25)
# ================= WIDGETS QPUSHBUTTON ====================
buttonSeleccionar = QPushButton("Seleccionar", self)
buttonSeleccionar.setToolTip("Seleccionar imagen")
buttonSeleccionar.setCursor(Qt.PointingHandCursor)
buttonSeleccionar.setGeometry(15, 200, 168, 25)
buttonBuscar = QPushButton("Buscar", self)
buttonBuscar.setToolTip("Buscar usuario")
buttonBuscar.setCursor(Qt.PointingHandCursor)
buttonBuscar.setGeometry(193, 60, 93, 25)
buttonGuardar = QPushButton("Guardar", self)
buttonGuardar.setToolTip("Guardar usuario")
buttonGuardar.setCursor(Qt.PointingHandCursor)
buttonGuardar.setGeometry(292, 60, 93, 25)
# ===================== EVENTO QLABEL ======================
# Llamar función al hacer clic sobre el label
self.labelImagen.clicked.connect(self.seleccionarImagen)
# ================== EVENTOS QPUSHBUTTON ===================
buttonSeleccionar.clicked.connect(self.seleccionarImagen)
buttonBuscar.clicked.connect(self.Buscar)
buttonGuardar.clicked.connect(self.Guardar)
# ======================= FUNCIONES ============================