[Python-Dev] ttk.Treeview.insert() does not allow to insert item with iid=0
MRAB
python at mrabarnett.plus.com
Fri Mar 16 20:39:06 EDT 2018
On 2018-03-16 20:22, Terry Reedy wrote:
> On 3/16/2018 6:54 AM, Игорь Яковченко wrote:
[snip]
>> There is no item with such iid. This item has autogenerated iid just
>> like it's not specified.
>> I investigated problem and found that in ttk.py, Treeview.insert(...
>> iid=None, ...) in method's body has a check:
>> if iid:
>> res = self.tk.call(self._w, "insert", parent, index,
>> "-id", iid, *opts)
>> else:
>> res = self.tk.call(self._w, "insert", parent, index, *opts)
>> It means that if iid is "True" then use it else autogenerate it.
>> Maybe there should be "if iid is not None", not "if iid"? Or there are
>> some reasons to do check this way?
>
> It might be that accepting '' as an iid would be a problem.
> Our current tkinter expert, Serhiy Storchaka, should know. If so, "if
> iid in (None, '')" would be needed.
>
The root of the tree has the iid ''.
More information about the Python-Dev
mailing list