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')],
|
||||
[self.graph],
|
||||
[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(' 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(' 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, 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()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import sys
|
||||
if sys.version_info[0] >= 3:
|
||||
import PySimpleGUIQt as sg
|
||||
import PySimpleGUI as sg
|
||||
else:
|
||||
import PySimpleGUI27 as sg
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import PySimpleGUI as sg
|
|||
|
||||
layout = [[ sg.Text('Window 1'),],
|
||||
[sg.Input(do_not_clear=True)],
|
||||
[sg.Text('', key='_OUTPUT_')],
|
||||
[sg.Text('', size=(20,1), key='_OUTPUT_')],
|
||||
[sg.Button('Launch 2')]]
|
||||
|
||||
win1 = sg.Window('Window 1').Layout(layout)
|
||||
|
|
|
@ -8,7 +8,7 @@ import PySimpleGUI as sg
|
|||
|
||||
layout = [[ sg.Text('Window 1'),],
|
||||
[sg.Input(do_not_clear=True)],
|
||||
[sg.Text('', key='_OUTPUT_')],
|
||||
[sg.Text('', size=(20,1), key='_OUTPUT_')],
|
||||
[sg.Button('Launch 2'), sg.Button('Exit')]]
|
||||
|
||||
win1 = sg.Window('Window 1').Layout(layout)
|
||||
|
|
|
@ -2,7 +2,7 @@ import PySimpleGUI as sg
|
|||
|
||||
layout = [[sg.Text('Window 1'), ],
|
||||
[sg.Input(do_not_clear=True)],
|
||||
[sg.Text('', key='_OUTPUT_')],
|
||||
[sg.Text('',size=(20,1), key='_OUTPUT_')],
|
||||
[sg.Button('Next >'), sg.Button('Exit')]]
|
||||
|
||||
win1 = sg.Window('Window 1').Layout(layout)
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
import sys
|
||||
|
||||
if sys.version_info[0] >= 3:
|
||||
import PySimpleGUI as sg
|
||||
else:
|
||||
import PySimpleGUI27 as sg
|
||||
|
||||
layout = [
|
||||
[sg.Text('Your typed chars appear here:'), sg.Text('', key='_OUTPUT_')],
|
||||
[sg.Input(do_not_clear=True, key='_IN_')],
|
||||
[sg.Text('Your typed chars appear here:'), sg.Text('', size=(20,1), key='-OUTPUT-')],
|
||||
[sg.Input(do_not_clear=True, key='-IN-')],
|
||||
[sg.Button('Show'), sg.Button('Exit')]
|
||||
]
|
||||
|
||||
|
@ -20,6 +19,6 @@ while True: # Event Loop
|
|||
break
|
||||
if event == 'Show':
|
||||
# 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()
|
||||
|
|
|
@ -2,59 +2,53 @@
|
|||
When creating a new PySimpleGUI program from scratch, start here.
|
||||
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)
|
||||
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 #
|
||||
# ---------------------------------#
|
||||
import sys
|
||||
if sys.version_info[0] >= 3:
|
||||
import PySimpleGUI as sg
|
||||
else:
|
||||
import PySimpleGUI27 as sg
|
||||
import PySimpleGUI as sg
|
||||
|
||||
layout = [[ sg.Text('My layout') ]]
|
||||
layout = [[ sg.Text('My Oneshot') ],
|
||||
[ sg.Button('OK') ]]
|
||||
|
||||
window = sg.Window('My window').Layout(layout)
|
||||
event, values = window.Read()
|
||||
window = sg.Window('My Oneshot', layout)
|
||||
event, values = window.read()
|
||||
window.close()
|
||||
|
||||
|
||||
# -------------------------------------#
|
||||
# DESIGN PATTERN 2 - Persistent Window #
|
||||
# -------------------------------------#
|
||||
import sys
|
||||
if sys.version_info[0] >= 3:
|
||||
import PySimpleGUI as sg
|
||||
else:
|
||||
import PySimpleGUI27 as sg
|
||||
import PySimpleGUI 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
|
||||
event, values = window.Read()
|
||||
if event is None:
|
||||
event, values = window.read()
|
||||
if event in (None, 'Cancel'):
|
||||
break
|
||||
window.close()
|
||||
|
||||
# ------------------------------------------------------------------#
|
||||
# DESIGN PATTERN 3 - Persistent Window with "early update" required #
|
||||
# ------------------------------------------------------------------#
|
||||
import sys
|
||||
if sys.version_info[0] >= 3:
|
||||
import PySimpleGUI as sg
|
||||
else:
|
||||
import PySimpleGUI27 as sg
|
||||
import PySimpleGUI 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
|
||||
event, values = window.Read()
|
||||
if event is None:
|
||||
break
|
||||
event, values = window.read()
|
||||
if event in (None, 'Cancel'):
|
||||
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