Sujet : Re: how to style one particular treeview
De : m.n.summerfield (at) *nospam* gmail.com (Mark Summerfield)
Groupes : comp.lang.tclDate : 17. Jul 2025, 17:08:58
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <105b76q$1en1e$1@dont-email.me>
References : 1 2
User-Agent : Pan/0.154 (Izium; 517acf4)
On Thu, 17 Jul 2025 12:36:45 -0300, Emiliano wrote:
On Thu, 17 Jul 2025 07:36:19 -0000 (UTC)
Mark Summerfield <m.n.summerfield@gmail.com> wrote:
I am using one particular ttk::treeview as a listbox:
ttk::frame .ignoresForm.ignoresListFrame
set ignoresList [ttk::treeview \
.ignoresForm.ignoresListFrame.ignoresList -striped true \
-yscrollcommand {.ignoresForm.ignoresListFrame.scrolly set}]
ttk::style configure List.Treeview -indent 0
#ttk::style map List.Treeview -indent [list disabled 0 active 0]
$ignoresList configure -show tree -selectmode browse \
-style List.Treeview
$ignoresList column #0 -anchor w -stretch true
ttk::scrollbar .ignoresForm.ignoresListFrame.scrolly -orient vertical \
-command {.ignoresForm.ignoresListFrame.ignoresList yview}
By default a ttk::treeview has an -indent of 20 pixels which makes sense
for trees but is not needed for lists.
In the code above I've tried to create a custom style to apply to one
treeview but it has no effect whether I use ttk::style configure or
ttk::style map.
What is the correct way to do this?
Use
ttk::style configure List.Treeview.Item -indicatorsize 0
to suppress the space reserved for the open/close indicator. This might be ignored on Win/Mac with native themes.
Regards
Thank you Emiliano, that worked great!
I used:
ttk::frame .ignoresForm.ignoresListFrame
set ignoresList [ttk::treeview \
.ignoresForm.ignoresListFrame.ignoresList -striped true \
-yscrollcommand {.ignoresForm.ignoresListFrame.scrolly set}]
ttk::style configure List.Treeview.Item -indicatorsize 0
$ignoresList configure -show tree -selectmode browse \
-style List.Treeview
$ignoresList column #0 -anchor w -stretch true
ttk::scrollbar .ignoresForm.ignoresListFrame.scrolly -orient vertical \
-command {.ignoresForm.ignoresListFrame.ignoresList yview}