mirror of https://github.com/python/cpython
[3.13] gh-120211: Fix tkinter.ttk with Tcl/Tk 9.0 (GH-120213) (GH-120215)
* Use new methods for tracing Tcl variable.
* Fix Combobox.current() for empty combobox.
(cherry picked from commit d68a22e7a6
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
a2003bd195
commit
8368b67d1b
|
@ -690,7 +690,10 @@ class Combobox(Entry):
|
|||
returns the index of the current value in the list of values
|
||||
or -1 if the current value does not appear in the list."""
|
||||
if newindex is None:
|
||||
return self.tk.getint(self.tk.call(self._w, "current"))
|
||||
res = self.tk.call(self._w, "current")
|
||||
if res == '':
|
||||
return -1
|
||||
return self.tk.getint(res)
|
||||
return self.tk.call(self._w, "current", newindex)
|
||||
|
||||
|
||||
|
@ -1522,7 +1525,7 @@ class LabeledScale(Frame):
|
|||
self.label.place(anchor='n' if label_side == 'top' else 's')
|
||||
|
||||
# update the label as scale or variable changes
|
||||
self.__tracecb = self._variable.trace_variable('w', self._adjust)
|
||||
self.__tracecb = self._variable.trace_add('write', self._adjust)
|
||||
self.bind('<Configure>', self._adjust)
|
||||
self.bind('<Map>', self._adjust)
|
||||
|
||||
|
@ -1530,7 +1533,7 @@ class LabeledScale(Frame):
|
|||
def destroy(self):
|
||||
"""Destroy this widget and possibly its associated variable."""
|
||||
try:
|
||||
self._variable.trace_vdelete('w', self.__tracecb)
|
||||
self._variable.trace_remove('write', self.__tracecb)
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fix :mod:`tkinter.ttk` with Tcl/Tk 9.0.
|
Loading…
Reference in New Issue