Pysimplegui: [рдкреНрд░рд╢реНрди] рдЗрдирдкреБрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЬрдире░ 2019  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PySimpleGUI/PySimpleGUI

рдореИрдВ рдПрдХ рдЗрдирдкреБрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рда рдореЗрдВ рдПрдХ рдЧреИрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░рд┐рддреНрд░ (рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ) рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкреБрд░рд╛рдиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдХрд░рдиреА рд╣реЛрдЧреА рдЬреЛ рдИрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдкрд░ рд╣реЛрддреА рд╣реИред рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд┐рдЫрд▓реА рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддрдХ рдкрд╣реБрдВрдЪ рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ? рдШрдЯрдирд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдкрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ 'default_text' рд╡рд┐рд╢реЗрд╖рддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдЕрд╕рд▓ рдореЗрдВ рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╛рда рдХрд╣рд╛рдВ рд╣реИ (рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдмрд╛рд╣рд░ [рдХреБрдВрдЬреА])

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PySimpleGUI рдЙрди рдорд╛рдиреЛрдВ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдирд╣реАрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЗрдирдкреБрдЯ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЕрдЧрд▓рд╛ рдкрдврд╝рдиреЗ рдХреЗ рд╕рдордп рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред

рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛

рдЖрдк рдЕрдкрдиреЗ рдЗрдирдкреБрдЯ рдХрд╛ "рдореВрд▓реНрдп" рдХреНрдпреЛрдВ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ? рдпрджрд┐ рдпрд╣ "рдмрд╣реБрдд рд▓рдВрдмрд╛" рд╣реИ, рддреЛ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдиреЗ рдорд╛рди рд╕реЗ рдШрдЯрд╛рдХрд░ рдЕрдВрддрд┐рдо рд╡рд░реНрдг рдЗрдирдкреБрдЯ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ ... рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд╡рд▓ 5 рд╡рд░реНрдгреЛрдВ рдХреЛ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛

import PySimpleGUI as sg

layout = [
            [sg.Input(do_not_clear=True, enable_events=True, key='_IN_')],
            [sg.Button('Exit')]
         ]

window = sg.Window('Window Title').Layout(layout)

while True:             # Event Loop
    event, values = window.Read()
    print(event, values)
    if event is None or event == 'Exit':
        break
    if len(values['_IN_']) > 5:
        window.Element('_IN_').Update(values['_IN_'][:-1])

window.Close()

рдпрд╣ рдореБрджреНрджрд╛ рдЬреЛ рдореИрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЙрд╕рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИ: рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ int/float рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рддрдХ рд╕реАрдорд┐рдд рдХреИрд╕реЗ рдХрд░реЗрдВ?

import PySimpleGUI as sg

layout = [  [sg.Text('My Window')],
            [sg.Input(key='-IN-', enable_events=True)],
            [sg.Button('Go'), sg.Button('Exit')]  ]

window = sg.Window('Window Title', layout)

while True:             # Event Loop
    event, values = window.read()
    if event in (None, 'Exit'):
        break
    if event == '-IN-' and values['-IN-'] and values['-IN-'][-1] not in ('0123456789.'):
        window['-IN-'].update(values['-IN-'][:-1])
window.close()

рд╡рд╣рд╛рдБ рдлрд┐рд░ рдЬрд╛рдУ....рдкрдХреНрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдХреНрдпреЛрдВ рдЦреБрд▓рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдлрд╝реНрд▓реИрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реВрдБ]

рд╢реБрдХреНрд░рд┐рдпрд╛ ! :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

martinmeteor picture martinmeteor  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mozesa picture mozesa  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

OPMUSER picture OPMUSER  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

OndoyManing picture OndoyManing  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xuguojun168 picture xuguojun168  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ