On 3/8/2010 7:28 PM, Swingle David-QWHM86 wrote:
> So, what is the difference between widgets that have "ttk__" in
> their name and those that don't?

They're completely different widgets which use (or at least closely
approximate) the theming of OS-native widgets. The first "t" stands for
"tile" which is the extension that introduced them. As of Tk 8.5 the
tile extension is integrated into the core.

> If I want to find help on these widgets, where do I look?

Under the "Themed Widgets" section of the Tk documentation:

http://docs.activestate.com/activetcl/8.5/tcl/tk_contents.htm

> Why is there a difference and what are the advantages and
> disadvantages to one over the other?

The primary advantage is that it allows you to create Tk apps that look
like native applications. Additionally, there are some widgets (like
comboboxes) that are only available in ttk. One disadvantage is that
they generally aren't as flexible if you want to set specific
colors/fonts/etc.

> If tkx is supposed to be a thin wrapper over Tcl/Tk, does that mean
> there are different types of entry/button/radio widgets in Tcl/Tk?

Yup.

> Any answers to the other questions from the previous post (#2, 3, 4,
> 7, 8, 9, 10)?

For 2-4 I don't know offhand. Check the Tk documentation linked above.

#7 (fill when resizing) is probably the result of not using -sticky
(when using the grid geometry manager) or -expand and -fill (when using
pack). Getting things to resize the way your used to applications
behaving takes practice.

For #8 (attaching scollbars to a listbox) I recommend using
Tkx::Scrolled. It's a mega-widget (so "yes" to #9) to make it easy to
add scrollbars to anything scrollable. Making a megawidget isn't all
that hard. Tkx includes LabelFrame as a simple demo. I've made a few and
put them on CPAN. (Tkx::Scrolled is on of them.)

For #10 (scrollbars after resizing) it sounds like programmatic resizing
isn't triggering the events to update scrollbars. You may need to do it
explicitly. I'd have to dig through the code to be sure.

-mjc

Reply via email to