本文整理汇总了Python中PyQt4.QtCore.QThreadPool类的典型用法代码示例。如果您正苦于以下问题:Python QThreadPool类的具体用法?Python QThreadPool怎么用?Python QThreadPool使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QThreadPool类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, iface, dialog_ui, bbox_tool):
"""
Constructor for the dialog tool
:param iface: The QGIS Interface
:param dialog_ui: The dialog GUI
:param bbox_tool The bounding box tool
:return: dialog tool
"""
QObject.__init__(self, None)
self.iface = iface
self.dialog_ui = dialog_ui
self.bbox_tool = bbox_tool
self.progress_bar = None
self.progress_message_bar = None
self.progress_message_bar_widget = None
self.search_thread_pool = QThreadPool()
self.search_lock = Lock()
self.export_thread_pool = QThreadPool()
self.export_lock = Lock()
self.query = None
self.previous_credentials = None
self.export_file = None
self.footprint_layer = None
self.filters = CatalogFilters(self.dialog_ui)
self.dialog_ui.aoi_button.clicked.connect(self.aoi_button_clicked)
self.dialog_ui.reset_button.clicked.connect(self.reset_button_clicked)
self.dialog_ui.export_button.clicked.connect(self.export_button_clicked)
self.bbox_tool.released.connect(self.search)
self.model = None
示例2: on_send_status_clicked
def on_send_status_clicked(self):
status = self.ui.status.toPlainText().__str__()
self.ui.status.clear()
self.ui.status.setReadOnly(True)
sender = SenderCommand(self.client, status)
sender.posted.connect(self.status_posted)
command_processor = CommandProcessor(sender)
QThreadPool.globalInstance().start(command_processor)
示例3: run_worker
def run_worker(self, task, callback):
"""Runs a task in another thread.
The `task` must be an object that implements a `run()`
method. Completion is notified to the given `callback` function.
"""
worker = Worker(task)
worker.finished.connect(callback)
QThreadPool.globalInstance().start(worker)
示例4: process
def process(self, caller, func, *args, **kwargs):
# Add the caller
self._add_listener(caller)
# Generate worker
self._worker = Worker(func, *args, **kwargs)
self._worker.signals.finished.connect(self.on_finished)
self._worker.signals.error.connect(self.on_error)
QThreadPool.globalInstance().start(self._worker)
示例5: query
def query(self, key):
"""Emit query."""
collect = Collect(
list(map(lambda a: a.engine, filter(Group.selected, self.output_areas))),
lambda r: self.record(key, r)
)
QThreadPool.globalInstance().start(collect)
#for engine in self.engines:
#QThreadPool.globalInstance().start(
#Runnable(lambda: engine.query(key), args=(object,)))
async_actions(map(lambda e: partial(e.query, key), self.engines))
示例6: test_that_process_states_emits_row_processed_signal_after_each_row
def test_that_process_states_emits_row_processed_signal_after_each_row(self):
self.batch_process_runner.row_processed_signal = mock.MagicMock()
self.batch_process_runner.row_failed_signal = mock.MagicMock()
self.batch_process_runner.process_states(self.states, False, OutputMode.Both, False, '')
QThreadPool.globalInstance().waitForDone()
self.assertEqual(self.batch_process_runner.row_processed_signal.emit.call_count, 3)
self.batch_process_runner.row_processed_signal.emit.assert_any_call(0, [], [])
self.batch_process_runner.row_processed_signal.emit.assert_any_call(1, [], [])
self.batch_process_runner.row_processed_signal.emit.assert_any_call(2, [], [])
self.assertEqual(self.batch_process_runner.row_failed_signal.emit.call_count, 0)
示例7: omap
def omap(fkt, par):
"""
:type fkt: ()->
:type par: list
:rtype: list
"""
# Die Anzahl der Prozesse ist ohne Aufwand auf einen idealen Wert beschränkt
pool = QThreadPool()
erg = [None] * len(par)
for p in par:
pool.start(QRunnable(fkt, p))
示例8: test_that_load_workspaces_emits_row_processed_signal_after_each_row
def test_that_load_workspaces_emits_row_processed_signal_after_each_row(self):
self.batch_process_runner.row_processed_signal = mock.MagicMock()
self.batch_process_runner.row_failed_signal = mock.MagicMock()
self.batch_process_runner.load_workspaces(self.states)
QThreadPool.globalInstance().waitForDone()
self.assertEqual(self.batch_process_runner.row_processed_signal.emit.call_count, 3)
self.batch_process_runner.row_processed_signal.emit.assert_any_call(0, [], [])
self.batch_process_runner.row_processed_signal.emit.assert_any_call(1, [], [])
self.batch_process_runner.row_processed_signal.emit.assert_any_call(2, [], [])
self.assertEqual(self.batch_process_runner.row_failed_signal.emit.call_count, 0)
示例9: QWorker
class QWorker(QObject):
"""
Starts the QRunnable in a QThreadPool, inherits QObject because
we need to connect signals from the objects we are creating to
the functions that update the UI
"""
def __init__(self):
"""
This class creates new instances of QRunner, which is the class
that directly interfaces with the external executable
We need to create the QRunner/QWorker routine because a QRunnable
does not inherit from QObject and therefore does not have access
to the signal/slot mechanisms that we need in order to receive when
things get done.
QWorker inherits from QObject, so we need to directly call QObjects
constructor to initialize the underlying C++ object, super() does not
allow for this (seemingly) so we need to call it directly.
"""
# init QObject
QObject.__init__(self)
# Our own threadpool, for adding QRunners
self.threadpool = QThreadPool()
self.jobs = []
def create_job(self, ifname, ofname, cls):
"""
This method takes three arguments:
ifname is the input file name of the file to be converted
ofname is a string which is to be the output of the filename
cls is a reference to the calling class, so that we can connect
a signal to a slot.
"""
# Create the QRunner object and pass it filenames
runner = QRunner(ifname, ofname, cls)
# using our own connect method inherited from QObject
# connect the QRunner created before and use it's QObject
# to connect a signal to the slot
self.connect(runner.q_object, SIGNAL(
"finished()"), cls.update_progress_bar)
# ask our threadpool to run the task
self.threadpool.start(runner)
示例10: record
def record(self, key, responses):
"""Record in background."""
if not self.recorder is None:
runnable = Runnable(lambda: self.recorder.add(
#word=s.word,
#pron=s.phonetic_symbol,
#trans='\n'.join(s.custom_translations),
#time=datetime.now()
key=key,
responses=responses
))
runnable.finished.connect(self.recorded)
QThreadPool.globalInstance().start(runnable)
示例11: push_to_website
def push_to_website(payload):
time = payload[SENSOR_TIMESTAMP]["val"]
for key in payload:
category = payload[key]["cat"]
value = payload[key]["val"]
if category == CAT_NONE:
continue
api = WebsiteAPI()
api.set_password(WEB_PASSWORD)
api.set_host(WEB_HOST)
api.set_data(category, key, value, time)
QThreadPool.globalInstance().start(api)
示例12: __init__
def __init__(self, func=None, args=(), kwargs={}, thread=None,
threadPool=None, parent=None):
QObject.__init__(self, parent)
self.func = func
self._args = args
self._kwargs = kwargs
self.threadPool = None
self._connected = True
self._cancelRequested = False
self._started = False
self._cancelled = False
if thread is not None:
self.moveToThread(thread)
else:
if threadPool is None:
threadPool = QThreadPool.globalInstance()
self.threadPool = threadPool
self._runnable = _RunnableAsyncCall(self)
self.threadPool.start(self._runnable)
self._connected = False
return
self.connect(self, SIGNAL("_async_start()"), self.execute,
Qt.QueuedConnection)
示例13: __init__
def __init__(self, control_system):
"""Make a instance of the ReaderAndWriterThread class.
Args:
protocol (SerialProtocol): It is a instance of a communication protocol.
"""
QThread.__init__(self, control_system)
self.writer_thread = QThreadPool(self)
self.writer_thread.setMaxThreadCount(1)
示例14: __init__
def __init__(self, parent=None, threadPool=None):
QObject.__init__(self, parent)
if threadPool is None:
threadPool = QThreadPool.globalInstance()
self._threadPool = threadPool
self._depot_thread = None
self._futures = []
self._shutdown = False
self._state_lock = threading.Lock()
示例15: start
def start(self):
self.idmap = {}
self.entries = []
pool = QThreadPool()
pool.setMaxThreadCount(1)
for label in LABELS:
feed = Feed(label, self)
pool.start(feed)
imap = Imap(label, self)
pool.start(imap)
pool.waitForDone()
self.done.emit()