import PySimpleGUIWeb as sg import datetime DEFAULT_BASE64_ICON = b'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' sg.ChangeLookAndFeel('GreenTan') layout = [ [sg.Text('PySimpleGUIWeb running on the web and in your browser!', size=(60,1), font=('Comic sans ms', 20), text_color='red')], [sg.Text('This program has been running for... ', size=(30,1)),sg.Text('', size=(30,1), key='_DATE_')], [sg.Text('', size=(30,1), key='_TEXT_')], [sg.Input('Single Line Input', do_not_clear=True, enable_events=True, size=(30,1))], [sg.Multiline('Multiline Input', do_not_clear=True, size=(40,4), enable_events=True)], [sg.Multiline('Multiline Output', size=(80,8), key='_MULTIOUT_', font='Courier 12')], [sg.Checkbox('Checkbox 1', enable_events=True, key='_CB1_'), sg.Checkbox('Checkbox 2', default=True, enable_events=True, key='_CB2_')], [sg.Combo(values=['Combo 1', 'Combo 2', 'Combo 3'], default_value='Combo 2', key='_COMBO_',enable_events=True, readonly=False, tooltip='Combo box', disabled=False, size=(12,1))], [sg.Listbox(values=('Listbox 1', 'Listbox 2', 'Listbox 3'), size=(10,3))], [sg.Slider((1,100), default_value=80, key='_SLIDER_', visible=True, enable_events=True, orientation='h')], [sg.Spin(values=(1,2,3),initial_value=2, size=(4,1))], [sg.Image(filename=r'dot:logo.jpg')], [sg.OK(), sg.Button('Exit', button_color=('white', 'red'))] ] window = sg.Window('My PySimpleGUIWeb Window', default_element_size=(30,1), font='Helvetica 18', background_image=r'dot:logo.jpg' ).Layout(layout) start_time = datetime.datetime.now()
[sg.Button('HERE !'), sg.Button('Cancel')]] windowOperation = sg.Window('Where ?').Layout(layoutOperation) while True: eventOperation, valuesOperation = windowOperation.Read() if eventOperation in (None, 'Cancel'): windowOperation.close() main() break else: windowOperation.close() searchRouteByLocationWindow(valuesOperation[0]) sg.ChangeLookAndFeel('Dark') sg.SetOptions(element_padding=(5, 5), button_element_size=(15, 2), auto_size_buttons=False, button_color=('white', 'firebrick4')) layout = [[sg.Text('Let us plan an awesome holiday for you..')], [ sg.Button('Search with text'), sg.Button('Search with image'), sg.Button('Create a route') ], [sg.Button('Cancel')]] window = sg.Window('HOLIday').Layout(layout) def main(): # try:
def HowDoI(): ''' Make and show a window (PySimpleGUI form) that takes user input and sends to the HowDoI web oracle Excellent example of 2 GUI concepts 1. Output Element that will show text in a scrolled window 2. Non-Window-Closing Buttons - These buttons will cause the form to return with the form's values, but doesn't close the form :return: never returns ''' # ------- Make a new Window ------- # sg.ChangeLookAndFeel('GreenTan') # give our form a spiffy set of colors layout = [ [sg.Text('Ask and your answer will appear here....', size=(40, 1))], [sg.MultilineOutput(size_px=(980, 400), key='_OUTPUT_')], # [ sg.Spin(values=(1, 2, 3, 4), initial_value=1, size=(2, 1), key='Num Answers', font='Helvetica 15'), [ sg.Checkbox('Display Full Text', key='full text', font='Helvetica 15'), sg.T('Command History', font='Helvetica 15'), sg.T('', size=(40, 3), text_color=sg.BLUES[0], key='history') ], [ sg.Multiline(size=(85, 5), enter_submits=True, key='query', do_not_clear=False), sg.ReadButton('SEND', button_color=(sg.YELLOWS[0], sg.BLUES[0]), bind_return_key=True), sg.Button('EXIT', button_color=(sg.YELLOWS[0], sg.GREENS[0])) ] ] window = sg.Window( 'How Do I ??', default_element_size=(30, 1), icon=DEFAULT_ICON, font=('Helvetica', ' 17'), default_button_element_size=(8, 2), return_keyboard_events=False, ) window.Layout(layout) # ---===--- Loop taking in user input and using it to query HowDoI --- # command_history = [] history_offset = 0 while True: event, values = window.Read() # print(event, values) if type(event) is int: event = str(event) if event == 'SEND': query = values['query'].rstrip() window.Element('_OUTPUT_').Update(query, append=True) print(query) QueryHowDoI(query, 1, values['full text'], window) # send the string to HowDoI command_history.append(query) history_offset = len(command_history) - 1 window.FindElement('query').Update( '' ) # manually clear input because keyboard events blocks clear window.FindElement('history').Update('\n'.join( command_history[-3:])) elif event == None or event == 'EXIT': # if exit button or closed using X break elif 'Up' in event and len(command_history): # scroll back in history command = command_history[history_offset] history_offset -= 1 * (history_offset > 0) # decrement is not zero window.FindElement('query').Update(command) elif 'Down' in event and len( command_history): # scroll forward in history history_offset += 1 * (history_offset < len(command_history) - 1 ) # increment up to end of list command = command_history[history_offset] window.FindElement('query').Update(command) elif 'Escape' in event: # clear currently line window.FindElement('query').Update('') window.Close()
Now you can run your PySimpleGUI code in these ways: 1. tkinter 2. Qt (pyside2) 3. WxPython 4. Web Browser (Remi) 5. repl.it (Remi) You can use repl.it to develop, test and share your code. If you want to run your GUI on tkinter, then change the import statement to "import PySimpleGUI". To run it on WxPython, change it to "import PySimpleGUIWx". repl.it opens up an entirely new way of demonstrating problems, solutions, bugs, etc, in a way that doesn't require anything but a web browser. No need to install a GUI package like tkinter. No need to install Python for that matter. Just open the repl link and have fun. """ print('Starting up...') sg.ChangeLookAndFeel('LightGreen') # set the overall color scheme files = glob.glob('BAL_Plots/spectra_overplot_Plaw_*.png') master = np.genfromtxt('Master_full_sample_redshift.txt', names=['name', 'ra', 'dec', 'zvi', 'tag'], dtype=('|S25', float, float, float, '|S10')) pnames = [ str(os.path.basename(sname).split('.')[0].split('_')[-1]).encode() for sname in files ] masternames = [sname for sname in master['name'] if sname in pnames] masterra = [] masterdec = [] masterzvi = [] for name in masternames: yy = np.where(master['name'] == name)[0][0] masterra.append(master['ra'][yy])
import PySimpleGUIWeb as sg import datetime import statistics_modules as sm import os """ VISUALIZAÇÃO DO MODULO ESTATISTICO """ print('Starting up...') sg.ChangeLookAndFeel('LightGreen') txtSobre = """ A Wyden é uma instituição de ensino superior parte de um dos maiores grupos educacionais do mundo, a Adtalem Global Education, que oferece, qualidade internacional e experiência em transformar realidades por meio da educação no mundo inteiro. Oferecemos cursos de Graduação e Pós-Graduação nas modalidades presencial, semipresencial e à distância. """ # Menu principal layout = [ [sg.Text('Metrocamp Exatas', size=(60,1), font=('Segoe UI', 20), text_color='red')], [sg.Button('Estatistica'),sg.Button('Matematica'),sg.Button('Fisica'),sg.Button('Sobre')], [sg.Text('', size=(60,1), font=('Segoe UI', 20), text_color='red')], [sg.Text('v1.0', size=(60,1), font=('Segoe UI', 10), text_color='black')], #[sg.Exit('Sair', button_color=('white','red'))] ] #Layout sobre a faculdade layout3 = [ [sg.Text('Metrocamp - Sobre', size=(60,1), font=('Segoe UI', 20), text_color='red')], [sg.Text(txtSobre, size=(60,7), font=('Ariel', 12), text_color='black')], [sg.Text('Desenvolvedores:', size=(60,1), font=('Ariel', 16), text_color='black')], [sg.Text('Luana Santos Lima', size=(60,1), font=('Ariel', 12), text_color='black')],