You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looked for Demo Programs that are similar to your goal. It is recommend you use the Demo Browser! Demo Programs
None of your GUI code was generated by an AI algorithm like GPT
If not tkinter - looked for Demo Programs for specific port
For non tkinter - Looked at readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
Run your program outside of your debugger (from a command line)
Searched through Issues (open and closed) to see if already reported Issues.PySimpleGUI.com
Have upgraded to the latest release of PySimpleGUI on PyPI (lastest official version)
Tried running the Development Build. Your problem may have already been fixed but not released. Check Home Window for release notes and upgrading capability
First Question:
All Fields are mandatory on my 3 Field screen. Using a mouse click, it is possible to bypass the AGE Field. Then SUBMIT is pressed.
I would then check to see that none of the Fields are NULL (empty). If I determine that the AGE Field (or any Field) is NULL, how do I go back and ask for it to be re-entered ?
Second Question:
If a Field is entered followed by a Carriage Return - is there any way to make it act like the TAB key and go on to the next Field ?
Thanks,
M....
Code To Duplicate
importPySimpleGUIassglayout= [
[sg.Text('Name: ',tooltip='Name 3-31 Char'),sg.Input(default_text="",enable_events=True,key='-NAME-')],
[sg.Text('Age: ', tooltip='Age 16-99'), sg.Input(default_text="",enable_events=True,key='-AGE-')],
[sg.Text('Date: ', tooltip='Date YYMMDD'), sg.Input(default_text="",enable_events=True,key='-DATE-')],
[sg.Button("Update"), sg.Button("Exit")],
]
winx=sg.Window('Customer Data Entry', layout)
whileTrue:
event, values=winx.read() # Display Window & wait for an eventifevent=='Exit'orevent==sg.WINDOW_CLOSE_ATTEMPTED_EVENT: # Exit button or upper left Xbreakifevent=='-NAME-' : # Name Validationprint("Name Validation")
ifevent=='-AGE-'andvalues['-AGE-'][-1] notin ('0123456789'): # Age Validationwinx['-AGE-'].update(values['-AGE-'][:-1]) # delete last char from inputprint("Age Validation")
ifevent=='-DATE-':
print("Date Validation")
ifevent=='-UPDATE-':
# Check for missing fieldsprint("Update File")
winx.close()
Screenshot, Sketch, or Drawing
Watcha Makin?
If you care to share something about your project, it would be awesome to hear what you're building.
The text was updated successfully, but these errors were encountered:
Type of Issue (Enhancement, Error, Bug, Question)
Question
Operating System
ubuntu 22.04
PySimpleGUI Port (tkinter, Qt, Wx, Web)
tkinter
Versions
Version information can be obtained by calling
sg.main_get_debug_data()
Or you can print each version shown in ()
Python version (
sg.sys.version
)3.12
PySimpleGUI Version (
sg.__version__
)PySimpleGUI 5.0
GUI Version (tkinter (
sg.tclversion_detailed
), PySide2, WxPython, Remi)PySimpleGUI 5.0
Your Experience In Months or Years (optional)
Years Python programming experience 6 months
Years Programming experience overall 40
Have used another Python GUI Framework? No
Anything else you think would be helpful?
Troubleshooting
These items may solve your problem. Please check those you've done by changing - [ ] to - [X]
Detailed Description
First Question:
All Fields are mandatory on my 3 Field screen. Using a mouse click, it is possible to bypass the AGE Field. Then SUBMIT is pressed.
I would then check to see that none of the Fields are NULL (empty). If I determine that the AGE Field (or any Field) is NULL, how do I go back and ask for it to be re-entered ?
Second Question:
If a Field is entered followed by a Carriage Return - is there any way to make it act like the TAB key and go on to the next Field ?
Thanks,
M....
Code To Duplicate
Screenshot, Sketch, or Drawing
Watcha Makin?
If you care to share something about your project, it would be awesome to hear what you're building.
The text was updated successfully, but these errors were encountered: