[issue36171] tkinter scrollbar missing 'state' option

2019-03-03 Thread Anthony Zeeman


New submission from Anthony Zeeman :

The scrollbars in both tkinter and Tkinter don't have the 'state' option and 
cannot be disabled.

--
components: Tkinter
messages: 337041
nosy: azeeman
priority: normal
severity: normal
status: open
title: tkinter scrollbar missing 'state' option

___
Python tracker 
<https://bugs.python.org/issue36171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36171] tkinter scrollbar missing 'state' option

2019-03-03 Thread Anthony Zeeman

Anthony Zeeman  added the comment:

Cheryl, here is the option listing from the ttk scrollbar configure method:
TTK Scrollbar options: {'command': ('command', 'command', 'Command', '', 
'140274415153928offsetChanged'), 'orient': ('orient', 'orient', 'Orient', 
, ), 'takefocus': 
('takefocus', 'takeFocus', 'TakeFocus', '', ''), 'cursor': ('cursor', 'cursor', 
'Cursor', '', ''), 'style': ('style', 'style', 'Style', '', ''), 'class': 
('class', '', '', '', '')}
Here is the listing from the tk scrollbar configure method:
TK Scrollbar options: {'activebackground': ('activebackground', 
'activeBackground', 'Foreground', '#ececec', '#ececec'), 'activerelief': 
('activerelief', 'activeRelief', 'Relief', 'raised', 'raised'), 'background': 
('background', 'background', 'Background', '#d9d9d9', '#d9d9d9'), 'bd': ('bd', 
'borderWidth'), 'bg': ('bg', 'background'), 'borderwidth': ('borderwidth', 
'borderWidth', 'BorderWidth', '1', '1'), 'command': ('command', 'command', 
'Command', '', '140677242826952offsetChanged'), 'cursor': ('cursor', 'cursor', 
'Cursor', '', ''), 'elementborderwidth': ('elementborderwidth', 
'elementBorderWidth', 'BorderWidth', '-1', '-1'), 'highlightbackground': 
('highlightbackground', 'highlightBackground', 'HighlightBackground', 
'#d9d9d9', '#d9d9d9'), 'highlightcolor': ('highlightcolor', 'highlightColor', 
'HighlightColor', '#00', '#00'), 'highlightthickness': 
('highlightthickness', 'highlightThickness', 'HighlightThickness', '0', '0'), 
'jump': ('jump', 'jump', 'Jump', '0', '0'), 'orient': ('orient', 'orient', 
'Orient', 'vertical', 'vertical'), 'relief': ('relief', 'relief', 'Relief', 
'sunken', 'sunken'), 'repeatdelay': ('repeatdelay', 'repeatDelay', 
'RepeatDelay', '300', '300'), 'repeatinterval': ('repeatinterval', 
'repeatInterval', 'RepeatInterval', '100', '100'), 'takefocus': ('takefocus', 
'takeFocus', 'TakeFocus', '', ''), 'troughcolor': ('troughcolor', 
'troughColor', 'Background', '#b3b3b3', '#b3b3b3'), 'width': ('width', 'width', 
'Width', '11', '11')}
The option is missing for both variants of the scrollbar.

On Sunday, March 3, 2019, 6:37:47 p.m. EST, Cheryl Sabella 
 wrote:  

Cheryl Sabella  added the comment:

You need to use the ttk Scrollbar to access state.  The standard tk Scrollbar 
doesn't have it.

Take a look at the doc page for ttk:
https://docs.python.org/3/library/tkinter.ttk.html

And the New Mexico Institute pages for ttk:
https://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Scrollbar.html
https://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Widget.html

--
nosy: +cheryl.sabella

___
Python tracker 
<https://bugs.python.org/issue36171>
___

--

___
Python tracker 
<https://bugs.python.org/issue36171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36171] tkinter scrollbar missing 'state' option

2019-03-03 Thread Anthony Zeeman

Anthony Zeeman  added the comment:

Cheryl, thank you for your help.

On Sunday, March 3, 2019, 7:02:47 p.m. EST, Cheryl Sabella 
 wrote:  

Cheryl Sabella  added the comment:

That's because state isn't an option.  :-)

I should have included the link to the ttk scrollbar manpage.
https://www.tcl.tk/man/tcl/TkCmd/ttk_scrollbar.htm

You'll see on that page that 'state' is listed as a Widget Command and not an 
Option:
    STANDARD OPTIONS

        -class, undefined, undefined 
        -cursor, cursor, Cursor 
        -style, style, Style 
        -takefocus, takeFocus, TakeFocus 

    WIDGET-SPECIFIC OPTIONS

        -command, command, Command 
        -orient, orient, Orient 

    WIDGET COMMAND

        pathName cget option 
        pathName configure ?option? ?value option value ...? 
        pathName get 
        pathName identify x y 
        pathName instate statespec ?script? 
        pathName set first last 
        pathName state ?stateSpec? 

    INTERNAL COMMANDS

        pathName delta deltaX deltaY 
        pathName fraction x y 

    SCROLLING COMMANDS

        prefix moveto fraction 
        prefix scroll number units 
        prefix scroll number pages 

If you notice, your listing of the options includes the 6 options listed above: 
command, orient, takefocus, cursor, style, class.  It doesn't list any of the 
other widget commands, such as cget or configure.  state is like those and not 
like the options.

In other words, you would use `w.state(['!disabled', 'selected'])` as shown in 
the example on the New Mexico Tech link.

--

___
Python tracker 
<https://bugs.python.org/issue36171>
___

--

___
Python tracker 
<https://bugs.python.org/issue36171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com