本文整理匯總了Python中PyQt5.QtCore.pyqtSignal方法的典型用法代碼示例。如果您正苦於以下問題:Python QtCore.pyqtSignal方法的具體用法?Python QtCore.pyqtSignal怎麽用?Python QtCore.pyqtSignal使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PyQt5.QtCore
的用法示例。
在下文中一共展示了QtCore.pyqtSignal方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _build_question
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def _build_question(title: str,
text: str = None, *,
mode: usertypes.PromptMode,
default: typing.Union[None, bool, str] = None,
abort_on: typing.Iterable[pyqtSignal] = (),
url: str = None,
option: bool = None) -> usertypes.Question:
"""Common function for ask/ask_async."""
question = usertypes.Question()
question.title = title
question.text = text
question.mode = mode
question.default = default
question.url = url
if option is not None:
if mode != usertypes.PromptMode.yesno:
raise ValueError("Can only 'option' with PromptMode.yesno")
if url is None:
raise ValueError("Need 'url' given when 'option' is given")
question.option = option
for sig in abort_on:
sig.connect(question.abort)
return question
示例2: _setup_pyqt5
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def _setup_pyqt5():
global QtCore, QtGui, QtWidgets, __version__, is_pyqt5, _getSaveFileName
if QT_API == QT_API_PYQT5:
from PyQt5 import QtCore, QtGui, QtWidgets
__version__ = QtCore.PYQT_VERSION_STR
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
QtCore.Property = QtCore.pyqtProperty
elif QT_API == QT_API_PYSIDE2:
from PySide2 import QtCore, QtGui, QtWidgets, __version__
else:
raise ValueError("Unexpected value for the 'backend.qt5' rcparam")
_getSaveFileName = QtWidgets.QFileDialog.getSaveFileName
def is_pyqt5():
return True
示例3: setName
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def setName(self, name: str) -> None:
if name != self.getName():
self._metadata["name"] = name
self._dirty = True
self.nameChanged.emit()
self.pyqtNameChanged.emit()
self.metaDataChanged.emit(self)
# Because we want to expose the properties of InstanceContainer as Qt properties for
# CURA-3497, the nameChanged signal should be changed to a pyqtSignal. However,
# pyqtSignal throws TypeError when calling disconnect() when there are no connections.
# This causes a lot of errors in Cura code when we try to disconnect from nameChanged.
# Therefore, rather than change the type of nameChanged, we add an extra signal that
# is used as notify for the property.
#
# TODO: Remove this once the Cura code has been refactored to not use nameChanged anymore.
示例4: _pyqt5
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def _pyqt5():
import PyQt5.Qt
from PyQt5 import QtCore, QtWidgets, uic
_remap(QtCore, "Signal", QtCore.pyqtSignal)
_remap(QtCore, "Slot", QtCore.pyqtSlot)
_remap(QtCore, "Property", QtCore.pyqtProperty)
_add(PyQt5, "__binding__", PyQt5.__name__)
_add(PyQt5, "load_ui", lambda fname: uic.loadUi(fname))
_add(PyQt5, "translate", lambda context, sourceText, disambiguation, n: (
QtCore.QCoreApplication(context, sourceText,
disambiguation, n)))
_add(PyQt5,
"setSectionResizeMode",
QtWidgets.QHeaderView.setSectionResizeMode)
_maintain_backwards_compatibility(PyQt5)
return PyQt5
示例5: update_matches
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def update_matches(self, cells_matched):
'''
PyQt Slot that updates the matches found each time it gets a signal.
Args:
cells_matched: list of tuples - (row, col). Type QtCore.pyqtSignal(list).
'''
# converts list of tuples to list of QtCore.QModelIndex for easy selection.
match_idxs = [self.current_model.index(row, col) for row, col in cells_matched]
self.search_matches.extend(match_idxs)
matches_found_text = 'Matches Found: ' + str(len(self.search_matches))
self.matches_found_label.setText(matches_found_text)
if self.search_matches and self.search_selection is None:
# highlight first match
self.search_selection = 0
self.highlight_match()
示例6: import_pyqt5
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def import_pyqt5():
"""
Import PyQt5
ImportErrors rasied within this function are non-recoverable
"""
from PyQt5 import QtCore, QtSvg, QtWidgets, QtGui, QtPrintSupport
import sip
# Alias PyQt-specific functions for PySide compatibility.
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
# Join QtGui and QtWidgets for Qt4 compatibility.
QtGuiCompat = types.ModuleType('QtGuiCompat')
QtGuiCompat.__dict__.update(QtGui.__dict__)
QtGuiCompat.__dict__.update(QtWidgets.__dict__)
QtGuiCompat.__dict__.update(QtPrintSupport.__dict__)
api = QT_API_PYQT5
return QtCore, QtGuiCompat, QtSvg, api
示例7: dbg_signal
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def dbg_signal(sig: pyqtSignal, args: typing.Any) -> str:
"""Get a string representation of a signal for debugging.
Args:
sig: A pyqtSignal.
args: The arguments as list of strings.
Return:
A human-readable string representation of signal/args.
"""
return '{}({})'.format(signal_name(sig), format_args(args))
示例8: import_pyqt4
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def import_pyqt4(version=2):
"""
Import PyQt4
Parameters
----------
version : 1, 2, or None
Which QString/QVariant API to use. Set to None to use the system
default
ImportErrors raised within this function are non-recoverable
"""
# The new-style string API (version=2) automatically
# converts QStrings to Unicode Python strings. Also, automatically unpacks
# QVariants to their underlying objects.
import sip
if version is not None:
sip.setapi('QString', version)
sip.setapi('QVariant', version)
from PyQt4 import QtGui, QtCore, QtSvg
if not check_version(QtCore.PYQT_VERSION_STR, '4.7'):
raise ImportError("IPython requires PyQt4 >= 4.7, found %s" %
QtCore.PYQT_VERSION_STR)
# Alias PyQt-specific functions for PySide compatibility.
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
# query for the API version (in case version == None)
version = sip.getapi('QString')
api = QT_API_PYQTv1 if version == 1 else QT_API_PYQT
return QtCore, QtGui, QtSvg, api
示例9: import_pyqt5
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def import_pyqt5():
"""
Import PyQt5
ImportErrors raised within this function are non-recoverable
"""
from PyQt5 import QtGui, QtCore, QtSvg
# Alias PyQt-specific functions for PySide compatibility.
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
return QtCore, QtGui, QtSvg, QT_API_PYQT5
示例10: __init__
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def __init__(self, *args, **kwargs):
class QConfig(QtCore.QObject):
updated = QtCore.pyqtSignal()
Object.__init__(self, *args, **kwargs)
self.qconfig = QConfig()
示例11: make_widget_clickable
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def make_widget_clickable(parent):
"""
Takes any QtWidgets.QWidget derived class and emits a signal emitting on mousePressEvent.
"""
# noinspection PyPep8Naming
class ClickableWidgetSubclass(parent):
"""
A widget that emits a clicked signal when the mouse is pressed.
"""
#: signal
clicked = QtCore.pyqtSignal(QtGui.QMouseEvent)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def mousePressEvent(self, event): # noqa: N802
"""
Mouse has been pressed, process the event, then emit the signal.
:param event:
"""
super().mousePressEvent(event)
self.clicked.emit(event)
return ClickableWidgetSubclass
示例12: import_pyqt4
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def import_pyqt4(version=2):
"""
Import PyQt4
Parameters
----------
version : 1, 2, or None
Which QString/QVariant API to use. Set to None to use the system
default
ImportErrors rasied within this function are non-recoverable
"""
# The new-style string API (version=2) automatically
# converts QStrings to Unicode Python strings. Also, automatically unpacks
# QVariants to their underlying objects.
import sip
if version is not None:
sip.setapi('QString', version)
sip.setapi('QVariant', version)
from PyQt4 import QtGui, QtCore, QtSvg
if not check_version(QtCore.PYQT_VERSION_STR, '4.7'):
raise ImportError("QtConsole requires PyQt4 >= 4.7, found %s" %
QtCore.PYQT_VERSION_STR)
# Alias PyQt-specific functions for PySide compatibility.
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
# query for the API version (in case version == None)
version = sip.getapi('QString')
api = QT_API_PYQTv1 if version == 1 else QT_API_PYQT
return QtCore, QtGui, QtSvg, api
示例13: deactivate
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def deactivate(self):
super(LineTool, self).deactivate()
self.deactivated.emit()
# class PointTool(QgsMapToolEmitPoint):
# """Point Map tool to capture mapped coordinates."""
#
# def __init__(self, canvas, button):
# """
# :param canvas: current map canvas
# :type: QgsMapCanvas
#
# :param button: name of 'Map!' button pressed.
# :type button: str
# """
#
# QgsMapToolEmitPoint.__init__(self, canvas)
# self.canvas = canvas
# self.button = button
# self.cursor = QCursor(QPixmap(RESOURCE_PREFIX + 'icon_locate.png').scaledToWidth(48), 24, 24)
#
# canvasClicked = pyqtSignal(['QgsPointXY', 'QString'])
# def canvasReleaseEvent(self, event):
# #Get the click and emit a transformed point
#
# crsSrc = self.canvas.mapSettings().destinationCrs()
#
# point_oldcrs = event.mapPoint()
#
# xform = transform.transformToWGS(crsSrc)
# point_newcrs = xform.transform(point_oldcrs)
#
# QApplication.restoreOverrideCursor()
#
# self.canvasClicked.emit(point_newcrs, self.button)
#
# def activate(self):
# QApplication.setOverrideCursor(self.cursor)
示例14: _pyqt5
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def _pyqt5():
import PyQt5.Qt
from PyQt5 import QtCore, QtWidgets, uic
_remap(QtCore, "Signal", QtCore.pyqtSignal)
_remap(QtCore, "Slot", QtCore.pyqtSlot)
_remap(QtCore, "Property", QtCore.pyqtProperty)
_add(QtCompat, "__binding__", PyQt5.__name__)
_add(QtCompat, "__binding_version__", PyQt5.QtCore.PYQT_VERSION_STR)
_add(QtCompat, "__qt_version__", PyQt5.QtCore.QT_VERSION_STR)
_add(QtCompat, "load_ui", lambda fname: uic.loadUi(fname))
_add(QtCompat, "translate", QtCore.QCoreApplication.translate)
_add(QtCompat, "setSectionResizeMode",
QtWidgets.QHeaderView.setSectionResizeMode)
_maintain_backwards_compatibility(PyQt5)
return PyQt5
示例15: __init__
# 需要導入模塊: from PyQt5 import QtCore [as 別名]
# 或者: from PyQt5.QtCore import pyqtSignal [as 別名]
def __init__(self, myvar, parent=None):
QtCore.QThread.__init__(self, parent)
self.notifyProgress = QtCore.pyqtSignal(int)
self.l = myvar