2018-09-27 20:24:09 +00:00
#!/usr/bin/env python
import sys
2018-09-28 18:57:37 +00:00
if sys . version_info [ 0 ] > = 3 :
2018-09-27 20:24:09 +00:00
import PySimpleGUI as sg
2018-09-28 18:57:37 +00:00
else :
import PySimpleGUI27 as sg
2018-08-18 21:22:38 +00:00
2018-09-10 22:42:05 +00:00
sg . ChangeLookAndFeel ( ' GreenTan ' )
2018-09-21 03:44:47 +00:00
# ------ Menu Definition ------ #
2018-09-29 17:48:48 +00:00
menu_def = [ [ ' &File ' , [ ' &Open ' , ' &Save ' , ' E&xit ' , ' Properties ' ] ] ,
[ ' &Edit ' , [ ' Paste ' , [ ' Special ' , ' Normal ' , ] , ' Undo ' ] , ] ,
[ ' &Help ' , ' &About... ' ] , ]
2018-09-21 03:44:47 +00:00
# ------ Column Definition ------ #
2018-10-15 20:07:23 +00:00
column1 = [ [ sg . Text ( ' Column 1 ' , background_color = ' lightblue ' , justification = ' center ' , size = ( 10 , 1 ) ) ] ,
2018-09-10 22:42:05 +00:00
[ sg . Spin ( values = ( ' Spin Box 1 ' , ' 2 ' , ' 3 ' ) , initial_value = ' Spin Box 1 ' ) ] ,
[ sg . Spin ( values = ( ' Spin Box 1 ' , ' 2 ' , ' 3 ' ) , initial_value = ' Spin Box 2 ' ) ] ,
[ sg . Spin ( values = ( ' Spin Box 1 ' , ' 2 ' , ' 3 ' ) , initial_value = ' Spin Box 3 ' ) ] ]
layout = [
2018-09-21 03:44:47 +00:00
[ sg . Menu ( menu_def , tearoff = True ) ] ,
2018-10-15 20:07:23 +00:00
[ sg . Text ( ' (Almost) All widgets in one Window! ' , size = ( 30 , 1 ) , justification = ' center ' , font = ( " Helvetica " , 25 ) , relief = sg . RELIEF_RIDGE ) ] ,
2018-09-10 22:42:05 +00:00
[ sg . Text ( ' Here is some text.... and a place to enter text ' ) ] ,
[ sg . InputText ( ' This is my text ' ) ] ,
2018-09-19 13:36:17 +00:00
[ sg . Frame ( layout = [
2018-09-19 14:46:28 +00:00
[ sg . Checkbox ( ' Checkbox ' , size = ( 10 , 1 ) ) , sg . Checkbox ( ' My second checkbox! ' , default = True ) ] ,
2018-09-22 01:10:28 +00:00
[ sg . Radio ( ' My first Radio! ' , " RADIO1 " , default = True , size = ( 10 , 1 ) ) , sg . Radio ( ' My second Radio! ' , " RADIO1 " ) ] ] , title = ' Options ' , title_color = ' red ' , relief = sg . RELIEF_SUNKEN , tooltip = ' Use these to set flags ' ) ] ,
2018-09-10 22:42:05 +00:00
[ sg . Multiline ( default_text = ' This is the default Text should you decide not to type anything ' , size = ( 35 , 3 ) ) ,
sg . Multiline ( default_text = ' A second multi-line ' , size = ( 35 , 3 ) ) ] ,
[ sg . InputCombo ( ( ' Combobox 1 ' , ' Combobox 2 ' ) , size = ( 20 , 1 ) ) ,
sg . Slider ( range = ( 1 , 100 ) , orientation = ' h ' , size = ( 34 , 20 ) , default_value = 85 ) ] ,
[ sg . InputOptionMenu ( ( ' Menu Option 1 ' , ' Menu Option 2 ' , ' Menu Option 3 ' ) ) ] ,
[ sg . Listbox ( values = ( ' Listbox 1 ' , ' Listbox 2 ' , ' Listbox 3 ' ) , size = ( 30 , 3 ) ) ,
2018-09-19 13:36:17 +00:00
sg . Frame ( ' Labelled Group ' , [ [
2018-09-10 22:42:05 +00:00
sg . Slider ( range = ( 1 , 100 ) , orientation = ' v ' , size = ( 5 , 20 ) , default_value = 25 ) ,
sg . Slider ( range = ( 1 , 100 ) , orientation = ' v ' , size = ( 5 , 20 ) , default_value = 75 ) ,
sg . Slider ( range = ( 1 , 100 ) , orientation = ' v ' , size = ( 5 , 20 ) , default_value = 10 ) ,
2018-10-15 20:07:23 +00:00
sg . Column ( column1 , background_color = ' lightblue ' ) ] ] ) ] ,
2018-09-10 22:42:05 +00:00
[ sg . Text ( ' _ ' * 80 ) ] ,
[ sg . Text ( ' Choose A Folder ' , size = ( 35 , 1 ) ) ] ,
[ sg . Text ( ' Your Folder ' , size = ( 15 , 1 ) , auto_size_text = False , justification = ' right ' ) ,
sg . InputText ( ' Default Folder ' ) , sg . FolderBrowse ( ) ] ,
2018-10-15 20:07:23 +00:00
[ sg . Submit ( tooltip = ' Click to submit this form ' ) , sg . Cancel ( ) ] ]
2018-09-10 22:42:05 +00:00
2018-09-24 22:01:00 +00:00
window = sg . Window ( ' Everything bagel ' , default_element_size = ( 40 , 1 ) , grab_anywhere = False ) . Layout ( layout )
2018-10-15 20:07:23 +00:00
event , values = window . Read ( )
2018-09-21 03:44:47 +00:00
sg . Popup ( ' Title ' ,
2018-09-24 22:01:00 +00:00
' The results of the window. ' ,
2018-10-15 20:07:23 +00:00
' The button clicked was " {} " ' . format ( event ) ,
2018-09-21 03:44:47 +00:00
' The values are ' , values )
2018-09-10 22:42:05 +00:00
2018-08-18 21:22:38 +00:00