1

I'm trying to get the "cancel" to work for my QgsTask, I have created a simple example to illustrate, When I press the "x" i want it to print reslut: None values: False, hence it just finishes without printing anything. If I let it finish (wait for 20 seconds) its prints reslut: None values: True Test QgsTask

import time
def test_task(task):
 for i in range(20):
  if task.isCanceled():
   return False
  else:
   task.setProgress(i*5)
   time.sleep(1)
 return True

def end_method(reslut, values):
 print('reslut: {r} values: {v}'.format(r=reslut, v=values))

task = QgsTask.fromFunction('Test task', test_task, on_finished=end_method)

QgsApplication.taskManager().addTask(task)

Any thoughts on what I shall use instead of task.isCanceled()? (I'm using QGIS3.2)

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.