Skip to content

Imcompatibility with Python 3.12 #96

@testor2897

Description

@testor2897

My programme with tkintertable worked fine with Python 3.79.
Now I changed to Python 3.12 and some extra console output and an error is produced.

The following code is (behalve print statements) silent in Python 3.79:

print("Start Test")
self.grid = MyTable(
    parent=self.gridFrame,
    data=None,
    rows=0,
    cols=6,
    height=70,
    showkeynamesinheader=True,
    selectedcolor="white",
    rowselectedcolor="white",
)

self.model = self.grid.model
print("End Test")

Console output (Python 3.79):

Start Test
End Test

in Python 3.12 the console output is:

Start Test
Did not find preferences!!!
could not save
could not save
End Test

Furtheron later on in the code there is an exception (only 3.12) that I couldn't track up to now:

Exception ignored in: <function Preferences.del at 0x0000020907271800>
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\tkintertable\Prefs.py", line 64, in del
self.save_prefs()
File "C:\Python312\Lib\site-packages\tkintertable\Prefs.py", line 136, in save_prefs
print ('could not save')
ValueError: I/O operation on closed file.

Unfortunately I have no clue when the error raises. I will debug a little more and try to narrow it down...
The dialog with the tkintertable is rebuild after the first run and then the error raises.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions