aardio py3模块如何异步回显logger到界面富文本控件?
## 我的场景使用python编写爬虫,使用aardio构建配置喝控制界面,底部富文本框显示日志
https://api.onedrive.com/v1.0/shares/s!Amm_2hWJzJtVmCjMTtvBoNDm7vWp/root/content
## 我的需求
python 中的 logger 回显到富文本控件
https://api.onedrive.com/v1.0/shares/s!Amm_2hWJzJtVmClmSw326Stl3NCk/root/content
类似的logger有很多。
## 我做了什么
查看了截获标准输出的范例,尝试使用定时器获取,1是获取不到2是会导致程序卡顿 和我类似的问题,待老师回答 在范例里就有
//异步回显
import win.ui;
/*DSG{{*/
var winform = win.form(text="process.python - 入门";right=759;bottom=469)
winform.add(
edit={cls="edit";left=16;top=22;right=722;bottom=420;edge=1;multiline=1;z=1}
)
/*}}*/
import process.python;
/*
执行 Python 代码,
如果 Python 代码开始为 aardio 模板标记,则启用模板语法:
chm://the%20language/template_syntax.html
*/
var python = process.python.exec(`?>
import sys
import time
# print 写到进程标准输出,在 aardio 中可以读取
print( "这是 Python 代码输出的字符串 " )
sys.stdout.flush()
time.sleep( 1 )
print( "这是 Python 代码输出的字符串" )
`);
/*
此函数参数如果指定文本框作为回显对象,则异步回显进程输出。
启用异步回显示,函数不会阻塞,而是继续向后执行。
*/
python.logResponse( winform.edit );
/*
参数也可以是回显函数,详见 process.popen 文档。
参数是回显函数而不是回显控件,则阻塞函数直到被调用进程退出
如果不指定参数,且导入了 console 库,则默认回显到控制台。
*/
winform.show();
win.loopMessage();
页:
[1]