下面的
Multiline
重新路由有效,但这与我真正想要的不匹配:
output_layout = [
[sg.Text("OUTPUT")],
[sg.Multiline(size=(0,5), font='Courier 8', text_color="#DBFF33",
expand_x=True, expand_y=True, write_only=True, border_width=2,
reroute_stdout=True, reroute_stderr=True, echo_stdout_stderr=True,
autoscroll=True, auto_refresh=True)]]
我检查了类似的问题和此文档关于框架参数:我找不到任何将标准输出重新路由到框架元素的内容。
我当前的
Frame
元素,“按原样”,尚未重新路由:
# output_layout = [
# sg.Frame(title= frameTitles[12],font=FrameFontCol1, layout=[[sg.Column(cb12,
# size= (0 , size[1]) ) ]], expand_x=True)]
# -> I tried to apply the stdout re-routing args here, but it does not "fly" obv.
也许这是不可能的,或者是否有一种干净的解决方法或嵌入/嵌套解决方案?
根据评论中的建议,我可以将
MultiLine
元素嵌入到 Frame
元素中,如下所示:
output_layout = [ sg.Frame("OUTPUT",
[[sg.Multiline("", size=(int(size[0]/2),5),font='Courier 8', text_color="#DBFF33",
reroute_stdout=True, reroute_stderr=True,
echo_stdout_stderr=True, autoscroll=True, auto_refresh=True, )]], expand_x=True)
]
希望它可以帮助任何人。