Merge pull request #4179 from PySimpleGUI/Dev-latest

Dev latest
This commit is contained in:
PySimpleGUI 2021-04-12 17:53:16 -04:00 committed by GitHub
commit ac4d923cc8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 43 deletions

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python
import PySimpleGUI as sg
import time
@ -12,6 +13,7 @@ import time
this design were not used, then the time value displayed would slowly drift by the amount of time
it takes to execute the PySimpleGUI read and update calls (not good!)
Copyright 2021 PySimpleGUI
"""
@ -34,7 +36,8 @@ window = sg.Window('Running Timer', layout,
auto_size_buttons=False,
keep_on_top=True,
grab_anywhere=True,
element_padding=(0, 0))
element_padding=(0, 0), finalize=True,
right_click_menu=sg.MENU_RIGHT_CLICK_EDITME_EXIT)
current_time, paused_time, paused = 0, 0, False
start_time = time_as_int()
@ -60,7 +63,8 @@ while True:
start_time = start_time + time_as_int() - paused_time
# Change button's text
window['-RUN-PAUSE-'].update('Run' if paused else 'Pause')
elif event == 'Edit Me':
sg.execute_editor(__file__)
# --------- Display timer in window --------
window['text'].update('{:02d}:{:02d}.{:02d}'.format((current_time // 100) // 60,
(current_time // 100) % 60,

View File

@ -1,41 +0,0 @@
import PySimpleGUI as sg
import time
# Basic timer in PSG
def Timer():
sg.theme('Dark')
sg.set_options(element_padding=(0, 0))
form_rows = [[sg.Text(size=(8, 2), font=('Helvetica', 20),
justification='center', key='text')],
[sg.Button('Pause', key='-RUN-PAUSE-'),
sg.Button('Reset'),
sg.Exit(button_color=('white', 'firebrick4'))]]
window = sg.Window('Running Timer', form_rows,
no_titlebar=True, auto_size_buttons=False)
i = 0
paused = False
start_time = int(round(time.time() * 100))
while True:
# This is the code that reads and updates your window
button, values = window.read(timeout=10)
window['text'].update('{:02d}:{:02d}.{:02d}'.format(
(i // 100) // 60, (i // 100) % 60, i % 100))
if values is None or button == 'Exit':
break
if button == 'Reset':
i = 0
elif button == '-RUN-PAUSE-':
paused = not paused
window['-RUN-PAUSE-'].update('Run' if paused else 'Pause')
if not paused:
i += 1
window.close()
Timer()