Description
Type of Issue (Enhancement, Error, Bug, Question)
Bug
Operating System
MacOS 14.7 (arm)
PySimpleGUI Port (tkinter, Qt, Wx, Web)
tkinter
Versions (NOTE - PSG4 is no longer supported)
Python 3.13.0
PySimpleGUI version: 5.0.7
tcl-tk 9.0.0_1
python-tk 3.13.0
Your Experience In Months or Years (optional)
5+
Years Programming experience overall
10+
Anything else you think would be helpful?
Error reported: _tkinter.TclError: bad option "variable": must be add, info, or remove
Troubleshooting
These items may solve your problem. Please check those you've done by changing - [ ] to - [X]
- Searched main docs for your problem PySimpleGUI Documenation
- 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 (latest 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
- For licensing questions please email [email protected]
Detailed Description
Using Python 3.13 with tcl-tk version 9.0.0_1 causes the error _tkinter.TclError: bad option "variable": must be add, info, or remove
Reverting to Using Python 3.11 with tcl-tk version 8.6.15 works without error
Code To Duplicate
Installing the older version of tcl-tk with python 3.11 allows PySimpleGUI to work, it doesn't seem to work when python 3.12 or python3.13 is used with tcl-tk 9.0.0_1
Sample code from the site was used to test:
import PySimpleGUI as sg
# All the stuff inside your window.
layout = [ [sg.Text('Some text on Row 1')],
[sg.Text('Enter something on Row 2'), sg.InputText()],
[sg.Button('Ok'), sg.Button('Cancel')] ]
# Create the Window
window = sg.Window('Window Title', layout)
# Event Loop to process "events" and get the "values" of the inputs
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel
break
print('You entered ', values[0])
window.close()
Watcha Makin?
Testing PySimpleGUI