Refreshing demos. Updating to use newer techniques
This commit is contained in:
parent
e5e1021516
commit
f7deaadf97
|
@ -103,8 +103,8 @@ class GameOfLife:
|
||||||
[sg.Text('Game of Life ', font='ANY 15'), sg.Text('', key='_OUTPUT_', size=(30,1), font='ANY 15')],
|
[sg.Text('Game of Life ', font='ANY 15'), sg.Text('', key='_OUTPUT_', size=(30,1), font='ANY 15')],
|
||||||
[self.graph],
|
[self.graph],
|
||||||
[sg.Button('Go!', key='_DONE_'),
|
[sg.Button('Go!', key='_DONE_'),
|
||||||
sg.Text(' Delay (ms)') , sg.Slider([0,400], orientation='h', key='_SLIDER_', enable_events=True, size=(15,15)), sg.T('', size=(3,1), key='_S1_OUT_'),
|
sg.Text(' Delay (ms)') , sg.Slider([0,800], orientation='h', key='_SLIDER_', enable_events=True, size=(15,15)), sg.T('', size=(3,1), key='_S1_OUT_'),
|
||||||
sg.Text(' Num Generations'), sg.Slider([0, 3000],default_value=400, orientation='h',size=(15,15),enable_events=True, key='_SLIDER2_'), sg.T('', size=(3,1), key='_S2_OUT_')]
|
sg.Text(' Num Generations'), sg.Slider([0, 20000],default_value=4000, orientation='h',size=(15,15),enable_events=True, key='_SLIDER2_'), sg.T('', size=(3,1), key='_S2_OUT_')]
|
||||||
]
|
]
|
||||||
|
|
||||||
self.window = sg.Window('Window Title', ).Layout(layout).Finalize()
|
self.window = sg.Window('Window Title', ).Layout(layout).Finalize()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import sys
|
import sys
|
||||||
if sys.version_info[0] >= 3:
|
if sys.version_info[0] >= 3:
|
||||||
import PySimpleGUIQt as sg
|
import PySimpleGUI as sg
|
||||||
else:
|
else:
|
||||||
import PySimpleGUI27 as sg
|
import PySimpleGUI27 as sg
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import PySimpleGUI as sg
|
||||||
|
|
||||||
layout = [[ sg.Text('Window 1'),],
|
layout = [[ sg.Text('Window 1'),],
|
||||||
[sg.Input(do_not_clear=True)],
|
[sg.Input(do_not_clear=True)],
|
||||||
[sg.Text('', key='_OUTPUT_')],
|
[sg.Text('', size=(20,1), key='_OUTPUT_')],
|
||||||
[sg.Button('Launch 2')]]
|
[sg.Button('Launch 2')]]
|
||||||
|
|
||||||
win1 = sg.Window('Window 1').Layout(layout)
|
win1 = sg.Window('Window 1').Layout(layout)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import PySimpleGUI as sg
|
||||||
|
|
||||||
layout = [[ sg.Text('Window 1'),],
|
layout = [[ sg.Text('Window 1'),],
|
||||||
[sg.Input(do_not_clear=True)],
|
[sg.Input(do_not_clear=True)],
|
||||||
[sg.Text('', key='_OUTPUT_')],
|
[sg.Text('', size=(20,1), key='_OUTPUT_')],
|
||||||
[sg.Button('Launch 2'), sg.Button('Exit')]]
|
[sg.Button('Launch 2'), sg.Button('Exit')]]
|
||||||
|
|
||||||
win1 = sg.Window('Window 1').Layout(layout)
|
win1 = sg.Window('Window 1').Layout(layout)
|
||||||
|
|
|
@ -2,7 +2,7 @@ import PySimpleGUI as sg
|
||||||
|
|
||||||
layout = [[sg.Text('Window 1'), ],
|
layout = [[sg.Text('Window 1'), ],
|
||||||
[sg.Input(do_not_clear=True)],
|
[sg.Input(do_not_clear=True)],
|
||||||
[sg.Text('', key='_OUTPUT_')],
|
[sg.Text('',size=(20,1), key='_OUTPUT_')],
|
||||||
[sg.Button('Next >'), sg.Button('Exit')]]
|
[sg.Button('Next >'), sg.Button('Exit')]]
|
||||||
|
|
||||||
win1 = sg.Window('Window 1').Layout(layout)
|
win1 = sg.Window('Window 1').Layout(layout)
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
if sys.version_info[0] >= 3:
|
if sys.version_info[0] >= 3:
|
||||||
import PySimpleGUI as sg
|
import PySimpleGUI as sg
|
||||||
else:
|
else:
|
||||||
import PySimpleGUI27 as sg
|
import PySimpleGUI27 as sg
|
||||||
|
|
||||||
layout = [
|
layout = [
|
||||||
[sg.Text('Your typed chars appear here:'), sg.Text('', key='_OUTPUT_')],
|
[sg.Text('Your typed chars appear here:'), sg.Text('', size=(20,1), key='-OUTPUT-')],
|
||||||
[sg.Input(do_not_clear=True, key='_IN_')],
|
[sg.Input(do_not_clear=True, key='-IN-')],
|
||||||
[sg.Button('Show'), sg.Button('Exit')]
|
[sg.Button('Show'), sg.Button('Exit')]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -20,6 +19,6 @@ while True: # Event Loop
|
||||||
break
|
break
|
||||||
if event == 'Show':
|
if event == 'Show':
|
||||||
# change the "output" element to be the value of "input" element
|
# change the "output" element to be the value of "input" element
|
||||||
window.FindElement('_OUTPUT_').Update(values['_IN_'])
|
window.FindElement('-OUTPUT-').Update(values['-IN-'])
|
||||||
|
|
||||||
window.Close()
|
window.Close()
|
||||||
|
|
|
@ -2,59 +2,53 @@
|
||||||
When creating a new PySimpleGUI program from scratch, start here.
|
When creating a new PySimpleGUI program from scratch, start here.
|
||||||
These are the accepted design patterns that cover the two primary use cases
|
These are the accepted design patterns that cover the two primary use cases
|
||||||
|
|
||||||
1. A window that closes when a "submit" type button is clicked
|
1. A "One Shot" window
|
||||||
2. A persistent window that stays open after button clicks (uses an event loop)
|
2. A persistent window that stays open after button clicks (uses an event loop)
|
||||||
3. A persistent window that needs access to the elements' interface variables
|
3. A persistent window that need to perform Update of an element before the window.read
|
||||||
"""
|
"""
|
||||||
# ---------------------------------#
|
# ---------------------------------#
|
||||||
# DESIGN PATTERN 1 - Simple Window #
|
# DESIGN PATTERN 1 - Simple Window #
|
||||||
# ---------------------------------#
|
# ---------------------------------#
|
||||||
import sys
|
import PySimpleGUI as sg
|
||||||
if sys.version_info[0] >= 3:
|
|
||||||
import PySimpleGUI as sg
|
|
||||||
else:
|
|
||||||
import PySimpleGUI27 as sg
|
|
||||||
|
|
||||||
layout = [[ sg.Text('My layout') ]]
|
layout = [[ sg.Text('My Oneshot') ],
|
||||||
|
[ sg.Button('OK') ]]
|
||||||
|
|
||||||
window = sg.Window('My window').Layout(layout)
|
window = sg.Window('My Oneshot', layout)
|
||||||
event, values = window.Read()
|
event, values = window.read()
|
||||||
|
window.close()
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------#
|
# -------------------------------------#
|
||||||
# DESIGN PATTERN 2 - Persistent Window #
|
# DESIGN PATTERN 2 - Persistent Window #
|
||||||
# -------------------------------------#
|
# -------------------------------------#
|
||||||
import sys
|
import PySimpleGUI as sg
|
||||||
if sys.version_info[0] >= 3:
|
|
||||||
import PySimpleGUI as sg
|
|
||||||
else:
|
|
||||||
import PySimpleGUI27 as sg
|
|
||||||
|
|
||||||
layout = [[ sg.Text('My layout') ]]
|
layout = [[ sg.Text('My layout') ],
|
||||||
|
[ sg.Button('OK'), sg.Button('Cancel') ]]
|
||||||
|
|
||||||
window = sg.Window('My new window').Layout(layout)
|
window = sg.Window('Design Pattern 2', layout)
|
||||||
|
|
||||||
while True: # Event Loop
|
while True: # Event Loop
|
||||||
event, values = window.Read()
|
event, values = window.read()
|
||||||
if event is None:
|
if event in (None, 'Cancel'):
|
||||||
break
|
break
|
||||||
|
window.close()
|
||||||
|
|
||||||
# ------------------------------------------------------------------#
|
# ------------------------------------------------------------------#
|
||||||
# DESIGN PATTERN 3 - Persistent Window with "early update" required #
|
# DESIGN PATTERN 3 - Persistent Window with "early update" required #
|
||||||
# ------------------------------------------------------------------#
|
# ------------------------------------------------------------------#
|
||||||
import sys
|
import PySimpleGUI as sg
|
||||||
if sys.version_info[0] >= 3:
|
|
||||||
import PySimpleGUI as sg
|
|
||||||
else:
|
|
||||||
import PySimpleGUI27 as sg
|
|
||||||
|
|
||||||
layout = [[ sg.Text('My layout') ]]
|
layout = [[ sg.Text('My layout', key='-TEXT-KEY-') ],
|
||||||
|
[ sg.Button('OK'), sg.Button('Cancel') ]]
|
||||||
|
|
||||||
window = sg.Window('My new window').Layout(layout).Finalize()
|
window = sg.Window('Design Pattern 3', layout, finalize=True)
|
||||||
|
|
||||||
# if you have operations on elements that must take place before the event loop, do them here
|
window['-TEXT-KEY-'].Update('NEW Text') # Change the text field. Finalize allows us to do this
|
||||||
|
|
||||||
while True: # Event Loop
|
while True: # Event Loop
|
||||||
event, values = window.Read()
|
event, values = window.read()
|
||||||
if event is None:
|
if event in (None, 'Cancel'):
|
||||||
break
|
break
|
||||||
|
window.close()
|
||||||
|
|
|
@ -1,656 +0,0 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
import sys
|
|
||||||
if sys.version_info[0] >= 3:
|
|
||||||
import PySimpleGUI as sg
|
|
||||||
from tkinter import Tk
|
|
||||||
else:
|
|
||||||
import PySimpleGUI27 as sg
|
|
||||||
from Tkinter import Tk
|
|
||||||
|
|
||||||
|
|
||||||
desc_text = """
|
|
||||||
Text( text
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
click_submits=None
|
|
||||||
relief=None
|
|
||||||
font=None
|
|
||||||
text_color=None
|
|
||||||
background_color=None
|
|
||||||
justification=None
|
|
||||||
pad=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
|
|
||||||
Shortcuts: Txt, T
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_inputtext = """
|
|
||||||
InputText( default_text =''
|
|
||||||
size=(None, None)
|
|
||||||
disabled=False
|
|
||||||
auto_size_text=None
|
|
||||||
password_char=''
|
|
||||||
justification=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
font=None
|
|
||||||
tooltip=None
|
|
||||||
do_not_clear=False
|
|
||||||
key=None
|
|
||||||
focus=False
|
|
||||||
pad=None)
|
|
||||||
|
|
||||||
Shortcuts: In, Input
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_inputcombo = """
|
|
||||||
InputCombo( values
|
|
||||||
default_value=None
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
change_submits=False
|
|
||||||
disabled=False
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
|
|
||||||
Shortcuts: Combo, DropDown, Drop
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_inputoptionmenu = """
|
|
||||||
InputOptionMenu(values
|
|
||||||
default_value=None
|
|
||||||
size=(None, None)
|
|
||||||
disabled=False
|
|
||||||
auto_size_text=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
|
|
||||||
Shortcuts: OptionMenu
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_listbox = """
|
|
||||||
Listbox(values
|
|
||||||
default_values=None
|
|
||||||
select_mode=None
|
|
||||||
change_submits=False
|
|
||||||
bind_return_key=False
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
font=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_checkbox = """
|
|
||||||
CheckBox( text
|
|
||||||
default=False
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
font=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
change_submits=False
|
|
||||||
disabled=False
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
|
|
||||||
Shortcuts: CB, CBox, Check
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_radio = """
|
|
||||||
Radio( text
|
|
||||||
group_id
|
|
||||||
default=False
|
|
||||||
disabled=False
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
font=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_spin = """
|
|
||||||
Spin( values
|
|
||||||
initial_value=None
|
|
||||||
disabled=False
|
|
||||||
change_submits=False
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
font=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_multiline = """
|
|
||||||
MultiLine( default_text=''
|
|
||||||
enter_submits = False
|
|
||||||
disabled=False
|
|
||||||
autoscroll=False
|
|
||||||
size=(None,None)
|
|
||||||
auto_size_text=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
do_not_clear=False
|
|
||||||
key=None
|
|
||||||
focus=False
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_output = """
|
|
||||||
Output( size=(None, None)
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
pad=None
|
|
||||||
font=None
|
|
||||||
tooltip=None
|
|
||||||
key=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_button = """
|
|
||||||
Button( button_text=''
|
|
||||||
button_type=BUTTON_TYPE_CLOSES_WIN
|
|
||||||
target=(None, None)
|
|
||||||
tooltip=None
|
|
||||||
file_types=(("ALL Files", "*.*"),)
|
|
||||||
initial_folder=None
|
|
||||||
disabled=False
|
|
||||||
image_filename=None
|
|
||||||
image_size=(None, None)
|
|
||||||
image_subsample=None
|
|
||||||
border_width=None
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_button=None
|
|
||||||
button_color=None
|
|
||||||
default_value = None
|
|
||||||
font=None
|
|
||||||
bind_return_key=False
|
|
||||||
focus=False
|
|
||||||
pad=None
|
|
||||||
key=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_progressbar = """
|
|
||||||
ProgressBar(max_value
|
|
||||||
orientation=None
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
bar_color=(None, None)
|
|
||||||
style=None
|
|
||||||
border_width=None
|
|
||||||
relief=None
|
|
||||||
key=None
|
|
||||||
pad=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_image = """
|
|
||||||
Image( filename=None
|
|
||||||
data=None
|
|
||||||
size=(None, None)
|
|
||||||
pad=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_canvas = """
|
|
||||||
Canvas( canvas=None
|
|
||||||
background_color=None
|
|
||||||
size=(None, None)
|
|
||||||
pad=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_graph = """
|
|
||||||
Graph( canvas_size
|
|
||||||
graph_bottom_left
|
|
||||||
graph_top_right
|
|
||||||
background_color=None
|
|
||||||
pad=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_frame = """
|
|
||||||
Frame( title
|
|
||||||
layout
|
|
||||||
title_color=None
|
|
||||||
background_color=None
|
|
||||||
title_location=None
|
|
||||||
relief=DEFAULT_FRAME_RELIEF
|
|
||||||
size=(None, None)
|
|
||||||
font=None
|
|
||||||
pad=None
|
|
||||||
border_width=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_tab = """
|
|
||||||
Tab(title
|
|
||||||
layout
|
|
||||||
title_color=None
|
|
||||||
background_color=None
|
|
||||||
font=None
|
|
||||||
pad=None
|
|
||||||
disabled=False
|
|
||||||
border_width=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_tabgroup = """
|
|
||||||
TabGroup( layout
|
|
||||||
tab_location=None
|
|
||||||
title_color=None
|
|
||||||
selected_title_color=None
|
|
||||||
background_color=None
|
|
||||||
font=None
|
|
||||||
change_submits=False
|
|
||||||
pad=None
|
|
||||||
border_width=None
|
|
||||||
theme=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_slider = """
|
|
||||||
Slider( range=(None,None)
|
|
||||||
default_value=None
|
|
||||||
resolution=None
|
|
||||||
orientation=None
|
|
||||||
border_width=None
|
|
||||||
relief=None
|
|
||||||
change_submits=False
|
|
||||||
disabled=False
|
|
||||||
size=(None, None)
|
|
||||||
font=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_spin = """
|
|
||||||
Spin( values
|
|
||||||
initial_value=None
|
|
||||||
disabled=False
|
|
||||||
change_submits=False
|
|
||||||
size=(None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
font=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
key=None
|
|
||||||
pad=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_tree = """
|
|
||||||
Tree( data=None,
|
|
||||||
headings=None,
|
|
||||||
visible_column_map=None,
|
|
||||||
col_widths=None,
|
|
||||||
col0_width=10,
|
|
||||||
def_col_width=10,
|
|
||||||
auto_size_columns=True,
|
|
||||||
max_col_width=20,
|
|
||||||
select_mode=None,
|
|
||||||
font=None,
|
|
||||||
justification='right',
|
|
||||||
text_color=None,
|
|
||||||
background_color=None,
|
|
||||||
num_rows=None,
|
|
||||||
pad=None,
|
|
||||||
key=None,
|
|
||||||
tooltip=None):
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_column = """
|
|
||||||
Column( layout
|
|
||||||
background_color = None
|
|
||||||
size=(None, None)
|
|
||||||
pad=None
|
|
||||||
scrollable=False
|
|
||||||
key=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_table = """
|
|
||||||
Table( values
|
|
||||||
headings=None
|
|
||||||
visible_column_map=None
|
|
||||||
col_widths=None
|
|
||||||
def_col_width=10
|
|
||||||
auto_size_columns=True
|
|
||||||
max_col_width=20
|
|
||||||
select_mode=None
|
|
||||||
display_row_numbers=False
|
|
||||||
scrollable=None
|
|
||||||
font=None
|
|
||||||
justification='right'
|
|
||||||
text_color=None
|
|
||||||
background_color=None
|
|
||||||
size=(None, None)
|
|
||||||
pad=None
|
|
||||||
key=None
|
|
||||||
tooltip=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_window = """
|
|
||||||
Window( title
|
|
||||||
default_element_size=DEFAULT_ELEMENT_SIZE
|
|
||||||
default_button_element_size = (None, None)
|
|
||||||
auto_size_text=None
|
|
||||||
auto_size_buttons=None
|
|
||||||
location=(None, None)
|
|
||||||
button_color=None
|
|
||||||
font=None
|
|
||||||
progress_bar_color=(None, None)
|
|
||||||
background_color=None
|
|
||||||
border_depth=None
|
|
||||||
auto_close=False
|
|
||||||
auto_close_duration=DEFAULT_AUTOCLOSE_TIME
|
|
||||||
icon=DEFAULT_WINDOW_ICON
|
|
||||||
force_toplevel = False
|
|
||||||
return_keyboard_events=False
|
|
||||||
use_default_focus=True
|
|
||||||
text_justification=None
|
|
||||||
no_titlebar=False
|
|
||||||
grab_anywhere=False
|
|
||||||
keep_on_top=False
|
|
||||||
resizable=False)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_window_methods = """
|
|
||||||
Layout(rows)
|
|
||||||
Call to set the window layout. Must be called prior to Read. Most likely "chained" in line with the Window creation.
|
|
||||||
|
|
||||||
Finalize()
|
|
||||||
Call to force a window to go through the final stages of initialization. This will cause the tkinter resources to be allocated so that they can then be modified.
|
|
||||||
|
|
||||||
Read()
|
|
||||||
Read the Window's input values and button clicks in a blocking-fashion
|
|
||||||
Returns event, values
|
|
||||||
|
|
||||||
ReadNonBlocking()
|
|
||||||
Read the Window's input values and button clicks but without blocking. It will immediately return.
|
|
||||||
|
|
||||||
Refresh()
|
|
||||||
Cause changes to the window to be displayed on the screen. Normally not needed unless the changes are immediately required or if it's going to be a while before another call to Read.
|
|
||||||
|
|
||||||
SetIcon(icon)
|
|
||||||
Sets the window's icon that will be shown on the titlebar.
|
|
||||||
|
|
||||||
Fill(values_dict)
|
|
||||||
Populates the windows fields with the values shown in the dictionary.
|
|
||||||
|
|
||||||
FindElement(key)
|
|
||||||
Rerturns the Element that has a matching key. If the key is not found, an Error Element is returned so that the program will not crash should the user try to perform an "update". A Popup message will be shown
|
|
||||||
|
|
||||||
SaveToDisk(filename)
|
|
||||||
Saves the window's values to disk
|
|
||||||
|
|
||||||
LoadFromDisk(filename)
|
|
||||||
Fills in a window's fields based on previously saved file
|
|
||||||
|
|
||||||
GetScreenDimensions()
|
|
||||||
Returns the size (w,h) of the screen in pixels
|
|
||||||
|
|
||||||
Move(x, y)
|
|
||||||
Move window to (x,y) position on the screen
|
|
||||||
|
|
||||||
Minimize()
|
|
||||||
Sends the window to the taskbar
|
|
||||||
|
|
||||||
CloseNonBlocking()
|
|
||||||
Closes a non-blocking window
|
|
||||||
|
|
||||||
Disable()
|
|
||||||
Stops a window from responding until Enable is called
|
|
||||||
|
|
||||||
Enable()
|
|
||||||
Re-enables a previously disabled window
|
|
||||||
|
|
||||||
Hide()
|
|
||||||
Completely hides a window, including removing from the taskbar
|
|
||||||
|
|
||||||
UnHide()
|
|
||||||
Restores a window hidden using Hide
|
|
||||||
|
|
||||||
Disappear()
|
|
||||||
Makes a window disappear while leaving the icon on the taskbar
|
|
||||||
|
|
||||||
Reappear()
|
|
||||||
Makes a window reappear that was previously made to disappear using Disappear()
|
|
||||||
|
|
||||||
SetAlpha(alpha)
|
|
||||||
Sets the window's transparency. 0 is completely transparent. 1 is fully visible, normal
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_menu= """
|
|
||||||
Menu(menu_definition
|
|
||||||
background_color=None
|
|
||||||
size=(None, None)
|
|
||||||
tearoff=True
|
|
||||||
pad=None
|
|
||||||
key=None)
|
|
||||||
"""
|
|
||||||
|
|
||||||
desc_button_types = """
|
|
||||||
There are multiple button types / names to choose from
|
|
||||||
CloseButton = CButton = SimpleButton
|
|
||||||
Button = ReadFormButton = ReadButton = RButton
|
|
||||||
RealtimeButton
|
|
||||||
DummyButton
|
|
||||||
FolderBrowse
|
|
||||||
FileBrowse
|
|
||||||
FilesBrowse
|
|
||||||
FileSaveAs = SaveAs
|
|
||||||
CalendarButton
|
|
||||||
ColorChooserButton
|
|
||||||
Shortcuts - Normal buttons with predefined text
|
|
||||||
Save, Open, OK, Ok, Cancel, Quit, Exit, Yes, No, Help
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
desc_popup= """
|
|
||||||
Popup(button_color=None
|
|
||||||
background_color=None
|
|
||||||
text_color=None
|
|
||||||
button_type=POPUP_BUTTONS_OK
|
|
||||||
auto_close=False
|
|
||||||
auto_close_duration=None
|
|
||||||
non_blocking=False
|
|
||||||
icon=DEFAULT_WINDOW_ICON
|
|
||||||
line_width=None
|
|
||||||
font=None
|
|
||||||
no_titlebar=False
|
|
||||||
grab_anywhere=False
|
|
||||||
keep_on_top=False
|
|
||||||
location=(None,None))
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
desc_popups = """
|
|
||||||
PopupScrolled
|
|
||||||
PopupGetFolder
|
|
||||||
PopupGetFile
|
|
||||||
PopupGetText
|
|
||||||
POopup
|
|
||||||
PopupNoButtons
|
|
||||||
PopupNonBlocking = PopupNoWait
|
|
||||||
PopupQuick
|
|
||||||
PopupNoTitleBar = PopupNoFrame = PopupNoBorder = PopupAnnoying
|
|
||||||
PopupAutoClose = PopupTimed
|
|
||||||
PopupError
|
|
||||||
PopupCancel
|
|
||||||
PopupOK
|
|
||||||
PopupOKCancel
|
|
||||||
PopupYesNo
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
desc_one_line_progress_meter = """
|
|
||||||
OneLineProgressMeter(title
|
|
||||||
current_value
|
|
||||||
max_value
|
|
||||||
key
|
|
||||||
*args
|
|
||||||
orientation=None
|
|
||||||
bar_color=(None,None)
|
|
||||||
button_color=None
|
|
||||||
size=DEFAULT_PROGRESS_BAR_SIZE
|
|
||||||
border_width=None
|
|
||||||
grab_anywhere=False):
|
|
||||||
"""
|
|
||||||
|
|
||||||
element_list = ('Window',
|
|
||||||
'Text',
|
|
||||||
'InputText',
|
|
||||||
'CheckBox',
|
|
||||||
'RadioButton',
|
|
||||||
'Listbox',
|
|
||||||
'InputCombo',
|
|
||||||
'Slider',
|
|
||||||
'Spinner',
|
|
||||||
'Multiline',
|
|
||||||
'Output',
|
|
||||||
'ProgressBar',
|
|
||||||
'OptionMenu',
|
|
||||||
'Menu',
|
|
||||||
'Frame',
|
|
||||||
'Column',
|
|
||||||
'Graph',
|
|
||||||
'Image',
|
|
||||||
'Table',
|
|
||||||
'Tab',
|
|
||||||
'TabGroup',
|
|
||||||
'Button Types')
|
|
||||||
|
|
||||||
descriptions = {'Window': desc_window, 'Text': desc_text, 'InputText': desc_inputtext, 'Checkbox': desc_checkbox,
|
|
||||||
'Radio': desc_radio, 'Listbox': desc_listbox, 'Slider': desc_slider, 'Spinner':desc_spin, 'Multiline': desc_multiline,
|
|
||||||
'Output': desc_output, 'ProgressBar': desc_progressbar, 'OptionMenu': desc_inputoptionmenu,
|
|
||||||
'Combo': desc_inputcombo, 'Menu': desc_menu, 'Frame': desc_frame, 'Column': desc_column,
|
|
||||||
'Graph': desc_graph, 'Image': desc_image, 'Table': desc_table, 'Tree': desc_tree,'Tab': desc_tab,
|
|
||||||
'TabGroup': desc_tabgroup, 'Button':desc_button, 'Button Types': desc_button_types,
|
|
||||||
'Popup':desc_popup, 'Popups':desc_popups, 'One Line Prog Meter':desc_one_line_progress_meter}
|
|
||||||
|
|
||||||
|
|
||||||
tab_text = [[sg.Column([[sg.T('This is sample text')],[ sg.Text(desc_text, font=('Consolas 12'))]])]]
|
|
||||||
tab_input = [[sg.Column([[sg.Input(size=(15,1))],[sg.Text(desc_inputtext, font=('Consolas 12'))]])]]
|
|
||||||
tab_checkbox = [[sg.Column([[sg.Checkbox('Checkbox', size=(15,1))],[sg.Text(desc_checkbox, font=('Consolas 12'))]])]]
|
|
||||||
tab_radio = [[sg.Column([[sg.Radio('Radio Button', group_id=1, size=(15,1))],[sg.Text(desc_radio, font=('Consolas 12'))]])]]
|
|
||||||
tab_listbox = [[sg.Column([[sg.Listbox(values=[1,2,3,4] ,size=(15,4))],[sg.Text(desc_listbox, font=('Consolas 12'))]])]]
|
|
||||||
tab_slider = [[sg.Column([[sg.Slider((1,100), orientation='h', size=(15,15))],[sg.Text(desc_slider, font=('Consolas 12'))]])]]
|
|
||||||
tab_spinner = [[sg.Column([[sg.Spin((1,2,3,4,5),initial_value=1,size=(15,1))],[sg.Text(desc_spin, font=('Consolas 12'))]])]]
|
|
||||||
tab_multiline = [[sg.Column([[sg.Multiline(size=(15,1))],[sg.Text(desc_multiline, font=('Consolas 12'))]])]]
|
|
||||||
tab_output= [[sg.Column([[sg.Text(desc_output, font=('Consolas 12'))]])]]
|
|
||||||
tab_progressbar = [[sg.Column([[sg.Text(desc_progressbar, font=('Consolas 12'))]])]]
|
|
||||||
tab_optionmenu = [[sg.Column([[sg.OptionMenu([1,2,3,4,5], size=(15,1))],[sg.Text(desc_inputoptionmenu, font=('Consolas 12'))]])]]
|
|
||||||
tab_combo = [[sg.Column([[sg.Combo([1,2,3,4,5], size=(15,1))],[sg.Text(desc_inputcombo, font=('Consolas 12'))]])]]
|
|
||||||
tab_frame = [[sg.Column([[sg.Frame('Frame',[[sg.T(' ')]], size=(15,1))],[sg.Text(desc_frame, font=('Consolas 12'))]])]]
|
|
||||||
tab_column = [[sg.Text(desc_column, font=('Consolas 12'))]]
|
|
||||||
tab_graph = [[sg.Text(desc_graph, font=('Consolas 12'))]]
|
|
||||||
tab_tab = [[sg.Text(desc_tab, font=('Consolas 12'))]]
|
|
||||||
tab_tabgroup = [[sg.Text(desc_tabgroup, font=('Consolas 12'))]]
|
|
||||||
tab_image = [[sg.Text(desc_image, font=('Consolas 12'))]]
|
|
||||||
tab_table = [[sg.Text(desc_table, font=('Consolas 12'))]]
|
|
||||||
tab_tree = [[sg.Text(desc_tree, font=('Consolas 12'))]]
|
|
||||||
tab_menu = [[sg.Text(desc_menu, font=('Consolas 12'))]]
|
|
||||||
tab_button = [[sg.Text(desc_button, font=('Consolas 12'))]]
|
|
||||||
tab_button_types = [[sg.Text(desc_button_types, font=('Consolas 12'))]]
|
|
||||||
tab_popup = [[sg.Text(desc_popup, font=('Consolas 12'))]]
|
|
||||||
tab_popups = [[sg.Text(desc_popups, font=('Consolas 12'))]]
|
|
||||||
tab_one_line_prog_meter = [[sg.Text(desc_one_line_progress_meter, font=('Consolas 12'))]]
|
|
||||||
|
|
||||||
tab_window = [[ sg.TabGroup([[sg.Tab('Parms',[[sg.Text(desc_window, font=('Consolas 12'))]]),
|
|
||||||
sg.Tab('Methods', [[sg.Column([[sg.Text(desc_window_methods)]], size=(500,500), scrollable=True, )]])]])]]
|
|
||||||
|
|
||||||
layout = [[sg.TabGroup([[sg.Tab('Window',tab_window),
|
|
||||||
sg.Tab('Text',tab_text),
|
|
||||||
sg.Tab('InputText', tab_input),
|
|
||||||
sg.Tab('Checkbox', tab_checkbox),
|
|
||||||
sg.Tab('Radio',tab_radio),
|
|
||||||
sg.Tab('Listbox', tab_listbox),
|
|
||||||
sg.Tab('Slider', tab_slider),
|
|
||||||
sg.Tab('Spinner',tab_spinner),
|
|
||||||
sg.Tab('Multiline', tab_multiline),
|
|
||||||
sg.Tab('OptionMenu', tab_optionmenu),
|
|
||||||
sg.Tab('Combo', tab_combo),
|
|
||||||
sg.Tab('Image', tab_image),
|
|
||||||
sg.Tab('Output', tab_output),
|
|
||||||
sg.Tab('Table', tab_table),
|
|
||||||
sg.Tab('Tree', tab_tree),
|
|
||||||
sg.Tab('Graph', tab_graph),
|
|
||||||
sg.Tab('ProgressBar', tab_progressbar),
|
|
||||||
sg.Tab('Frame', tab_frame),
|
|
||||||
sg.Tab('Column', tab_column),
|
|
||||||
sg.Tab('Tab', tab_tab),
|
|
||||||
sg.Tab('TabGroup', tab_tabgroup),
|
|
||||||
sg.Tab('Menu', tab_menu),
|
|
||||||
sg.Tab('Button', tab_button),
|
|
||||||
sg.Tab('Button Types', tab_button_types),
|
|
||||||
sg.Tab('Popup', tab_popup),
|
|
||||||
sg.Tab('Popups', tab_popups),
|
|
||||||
sg.Tab('One Line Prog Meter', tab_one_line_prog_meter),
|
|
||||||
]], tab_location='lefttop', title_color='blue', selected_title_color='red', key='_TABS_')],
|
|
||||||
[sg.Button('Copy')] ]
|
|
||||||
|
|
||||||
# layout = [[sg.Text('The PySimpleGUI SDK Quick Reference Guide', font='Any 15', relief=sg.RELIEF_RAISED)],
|
|
||||||
# [sg.Listbox(values=element_list, size=(15, len(element_list) + 2), key='_in_', change_submits=True,
|
|
||||||
# font=('Consolas 12')),
|
|
||||||
# sg.Text(desc_text, size=(55, 25), font=('Consolas 13'), text_color='darkblue', key='_out_')]]
|
|
||||||
|
|
||||||
window = sg.Window('PySimpleGUI SDK Quick Reference',
|
|
||||||
font='Consolas 12',
|
|
||||||
).Layout(layout)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
event, values = window.Read()
|
|
||||||
if event is None or event == 'Exit':
|
|
||||||
break
|
|
||||||
elif event == 'Methods':
|
|
||||||
sg.PopupScrolled(desc_window_methods, size=(50,20))
|
|
||||||
elif event == 'Copy':
|
|
||||||
tab = values['_TABS_']
|
|
||||||
r = Tk()
|
|
||||||
r.withdraw()
|
|
||||||
r.clipboard_clear()
|
|
||||||
r.clipboard_append(descriptions[tab])
|
|
||||||
r.update() # now it stays on the clipboard after the window is closed
|
|
||||||
r.destroy()
|
|
||||||
|
|
||||||
# element = values['_in_'][0]
|
|
||||||
# try:
|
|
||||||
# desc = descriptions[element]
|
|
||||||
# except:
|
|
||||||
# desc = ''
|
|
||||||
# window.FindElement('_out_').Update(desc)
|
|
||||||
|
|
||||||
# print(button, values)
|
|
Loading…
Reference in New Issue