pysimplegui模块实现倒计时UI框

Posted angelyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pysimplegui模块实现倒计时UI框相关的知识,希望对你有一定的参考价值。

一、代码

import sys
if sys.version_info[0] >= 3:
    import PySimpleGUI as sg
else:
    import PySimpleGUI27 as sg
import time

sg.ChangeLookAndFeel(Black)
sg.SetOptions(element_padding=(0, 0))

layout = [[sg.Text(‘‘)],
         [sg.Text(‘‘, size=(8, 2), font=(Helvetica, 20), justification=center, key=text)],
         [sg.Button(Pause, key=button, button_color=(white, #001480)),
          sg.Button(Reset, button_color=(white, #007339), key=Reset),
          sg.Exit(button_color=(white, firebrick4), key=Exit)]]

window = sg.Window(Running Timer, layout, no_titlebar=True, auto_size_buttons=False, keep_on_top=True, grab_anywhere=True)
current_time = 0
paused = False
start_time = int(round(time.time() * 100))
while (True):
    # --------- Read and update window --------
    if not paused:
        event, values = window.read(timeout=10)
        current_time = int(round(time.time() * 100)) - start_time
    else:
        event, values = window.read()
    if event == button:
        event = window[event].GetText()
    # --------- Do Button Operations --------
    if event is None or event == Exit:        # ALWAYS give a way out of program
        break
    if event is Reset:
        start_time = int(round(time.time() * 100))
        current_time = 0
        paused_time = start_time
    elif event == Pause:
        paused = True
        paused_time = int(round(time.time() * 100))
        element = window[button]
        element.update(text=Run)
    elif event == Run:
        paused = False
        start_time = start_time + int(round(time.time() * 100)) - paused_time
        element = window[button]
        element.update(text=Pause)

    # --------- Display timer in window --------
    window[text].update({:02d}:{:02d}.{:02d}.format((current_time // 100) // 60,
                                                                  (current_time // 100) % 60,
                                                                  current_time % 100))

技术图片

以上是关于pysimplegui模块实现倒计时UI框的主要内容,如果未能解决你的问题,请参考以下文章

python3.8的PySimpleGUI学习的温度转换(℃转℉)

如何在使用片段和计时器的选项卡式活动上更新 UI

让 PySimpleGUI 列表框列出对象属性

PySimpleGUI 列表框右键菜单

PySimpleGui:如何将值从一个列表框添加到另一个列表框

两列列表框 pySimpleGui