整理 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_value | max_value | QuickMeter的最大值 |
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_color | bar_color | 條形線的顔色 |
Tuple[str, str] | 元組[str,str] | button_color | button_color | 按鈕顔色(前景,背景) |
Tuple[int, int] | 元組[int,int] | size | 尺寸 | (w,h)w =字元寬,h =行高(預設值= DEFAULT_PROGRESS_BAR_SIZE) |
int | 整型 | border_width | border_width | 元素周圍邊框的寬度 |
bool | 布爾 | grab_anywhere | 抓住任何地方 | 如果為True:可以抓住任何地方移動視窗(預設= False) |
bool | 布爾 | no_titlebar | no_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調用一樣,同一調用還有其他名稱。您可以使用
Print
或
eprint
除
EasyPrint
。它們都做同樣的事情,輸出到調試視窗。如果調試視窗未打開,則第一個調用将打開它。除了在代碼中添加“ 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
支援
sep
和
end
關鍵字參數。可以用來調用的其他名稱
easy_print
包括
Print
,,
eprint
如果要關閉視窗,請調用函數
easy_print_close
。
您可以使用
set_options
帶有
debug_win_size
參數的調用來更改調試視窗的大小。
有一個選項告訴PySimpleGUI将所有的
stdout
和
stderr
輸出重新路由到此視窗。為此,請調用
easy_print
并将參數
do_not_reroute_stdout
設定為
False
。在将此參數設定為
True
的情況下調用一次之後,以後所有對法線的調用
print
都将進入調試視窗。
如果關閉調試視窗,則下次列印時将重新打開。如果您希望使用代碼關閉視窗,則可以調用
easy_print_close()
或
PrintClose()
列印到多行元素
輸出通常要列印的資訊的另一種方法是使用函數
Multiline.print
。您會在本文檔中進一步讨論它。基本思想是,您可以輕松地修改正常
print
調用,以将列印的資訊路由到視窗。