如何在R脚本中调用QGIS原生进度条?
在QGIS R环境中调用原生进度条的可行方案
可以通过QGIS Processing框架提供的Python API接口,在R脚本中直接操控QGIS原生进度条,具体实现如下:
修改后的代码
##Test=group ##BucleTest=name ##n_iteraciones=optional number 100 # 获取QGIS Processing的反馈对象,用于更新原生进度条 feedback <- processing$feedback for (i in 1:n_iteraciones) { print("Doing whatever") Sys.sleep(0.2) # 计算进度百分比(QGIS进度条范围为0-100) progress_percent <- (i / n_iteraciones) * 100 # 更新QGIS原生进度条 feedback$setProgress(progress_percent) }
原理说明
QGIS的R脚本运行在Processing框架的环境中,该环境预加载了processing Python模块对象,通过它可以直接访问QgsProcessingFeedback实例(即代码中的feedback)。该实例的setProgress()方法可以将进度值(0-100的百分比)传递给QGIS原生进度条,实现实时更新。
这种方法完全适配QGIS的原生界面,无需依赖控制台文本进度条。
内容的提问来源于stack exchange,提问作者Rubén Vicente
相关产品推荐
相关产品推荐

