Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.4k
Closed
Description
Surely the Text.count() method should return (0,) in the title code snippet? Following the example of what happens when more than one option is given.
I suppose the text_count method should do so too, but it was a hack of something that did not exist when written.
Tk8.6 documentation says a list of integers is returned.
Sample code below.
importtkinterdeftext_count(widget,index1,index2,*options):"""Hack Text count command. Return integer, or tuple if len(options) > 1. Tkinter does not provide a wrapper for the Tk Text widget count command at Python 2.7.1 widget is a Tkinter Text widget. index1 and index2 are Indicies as specified in TkCmd documentation. options must be a tuple of zero or more option values. If no options are given the Tk default option is used. If less than two options are given an integer is returned. Otherwise a tuple of integers is returned (in the order specified in TkCmd documentation). See text manual page in TkCmd documentation for valid option values and index specification. Example: chars, lines = text_count(widget, start, end, '-chars', '-lines') """returnwidget.tk.call((widget._w,'count')+options+ (index1,index2))text=tkinter.Text()print(text.count("1.0",tkinter.END))# (1,0)print(text.count("1.0","1.0"))# Noneprint(text_count(text,"1.0","1.0"))# 0print(text_count(text,"1.0",tkinter.END))# 1print(text.count("1.0",tkinter.END,"chars"))# (1,)print(text.count("1.0","1.0","chars"))# Noneprint(text_count(text,"1.0","1.0","-chars"))# 0print(text_count(text,"1.0",tkinter.END,"-chars"))# 1print(text.count(tkinter.END,"1.0","chars"))# (-1,)print(text_count(text,tkinter.END,"1.0","-chars"))# -1print(text.count("1.0",tkinter.END,"chars","lines"))# (1, 1)print(text.count("1.0","1.0","chars","lines"))# (0, 0)print(text_count(text,"1.0","1.0","-chars","-lines"))# (0, 0)print(text_count(text,"1.0",tkinter.END,"-chars","-lines"))# (1, 1)