python 笔记 PySimpleGUI 图形界面6- 高级API调用-进度表控件、调试输出

整理 PySimpleGUI 官方网站
原文google翻译过来的

https://pysimplegui.readthedocs.io/en/latest/

高级API调用

进度表控件

我们的代码中都有循环。“看着文本窗口中的柜台滚动过去,这不是快乐的等待吗?一行代码如何获得进度表,其中包含有关您的代码的统计信息呢?

one_line_progress_meter(title,
    current_value,
    max_value,
    key,
    args=*<1 or N object>,
    orientation="v",
    bar_color=(None, None),
    button_color=None,
    size=(20, 20),
    border_width=None,
    grab_anywhere=False,
    no_titlebar=False)

参数说明:

参数类型参数名说明
str字符串title标题要显示的文本
int整型current_value当前值当前值
int整型max_valuemax_valueQuickMeter的最大值
Union[str, int, tuple]Union [str,int,tuple]key与window.FindElement和返回值一起使用,以唯一地标识此元素
Any任何*args*参数要输出的东西
str字符串orientation取向‘水平’或’垂直’('h’或’v’工作)(默认值=‘vertical’/‘v’)
Tuple(str, str)元组(str,str)bar_colorbar_color条形线的颜色
Tuple[str, str]元组[str,str]button_colorbutton_color按钮颜色(前景,背景)
Tuple[int, int]元组[int,int]size尺寸(w,h)w =字符宽,h =行高(默认值= DEFAULT_PROGRESS_BAR_SIZE)
int整型border_widthborder_width元素周围边框的宽度
bool布尔grab_anywhere抓住任何地方如果为True:可以抓住任何地方移动窗口(默认= False)
bool布尔no_titlebarno_titlebar如果为True:窗口上不会显示标题栏
(bool)(布尔)RETURN返回如果成功更新,则为True。如果用户使用X或“取消”按钮关闭仪表,则为False

这是运行中的单行进度表!

for i in range(1,10000):
    sg.one_line_progress_meter('My Meter', i+1, 10000, 'key','Optional message')

该行代码导致此窗口弹出并更新。
在这里插入图片描述
只需磨掉1行代码,即可获得一台仪表和许多有趣的统计数据,可在您的机器磨削时观看。借助一些技巧,您可以使用“进度表”窗口提供一种打破循环的方式。取消按钮会False从中返回值OneLineProgressMeter。通常返回True

确保将一个添加到循环计数器,以使您的计数器从1变为最大值。如果不加一,计数器将永远不会达到最大值。相反,它将从0到max-1。

调试输出(easy_print =打印= eprint)

API的“简易”系列中的另一个调用是EasyPrint。与其他常用的PySimpleGUI调用一样,同一调用还有其他名称。您可以使用PrinteprintEasyPrint。它们都做同样的事情,输出到调试窗口。如果调试窗口未打开,则第一个调用将打开它。除了在代码中添加“ sg.Print”调用外,无需执行任何操作。只需粘贴以下语句,您甚至可以将对“打印”的调用替换为对EasyPrint的调用

print = sg.Print

在代码的顶部。

Print是易于使用的更好的工具之一。它只是print用大写字母P。sg.Print('this will go to the debug window')

import PySimpleGUI as sg

for i in range(100):
    sg.Print(i)

在这里插入图片描述

或者,如果您不想更改代码,请执行以下操作:

import PySimpleGUI as sg

print=sg.Print
for i in range(100):
    print(i)

就像标准的打印调用一样,easy_print支持sepend关键字参数。可以用来调用的其他名称easy_print包括Print,,eprint如果要关闭窗口,请调用函数easy_print_close

您可以使用set_options带有debug_win_size参数的调用来更改调试窗口的大小。

有一个选项告诉PySimpleGUI将所有的stdoutstderr输出重新路由到此窗口。为此,请调用easy_print并将参数do_not_reroute_stdout设置为False。在将此参数设置为True的情况下调用一次之后,以后所有对法线的调用print都将进入调试窗口。

如果关闭调试窗口,则下次打印时将重新打开。如果您希望使用代码关闭窗口,则可以调用easy_print_close()PrintClose()

打印到多行元素

输出通常要打印的信息的另一种方法是使用函数Multiline.print。您会在本文档中进一步讨论它。基本思想是,您可以轻松地修改常规print调用,以将打印的信息路由到窗口。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值