Jeff, Removing the $f->g_grid call did the trick. Thanks much!
Scott ---------------------------------------------------------------------- Scott Parrill Information Technology Specialist Wyoming State Geological Survey State of Wyoming P.O. Box 1347 Laramie, WY 82073 Phone: 307-766-2286 x242 Fax: 307-766-2605 E-mail: scott.parr...@wyo.gov<https://uwmail.uwyo.edu/owa/redir.aspx?C=4dc4ce62e583463fb8ad86380018935b&URL=mailto%3aScott.Parrill%40wyo.gov> ---------------------------------------------------------------------- E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. ---------------------------------------------------------------------- On Tue, Jul 31, 2012 at 11:45 PM, Jeff Hobbs <je...@activestate.com> wrote: > On 2012-07-31, at 3:10 PM, Scott Parrill <scott.parr...@wyo.gov> wrote: > > I have been trying to get a window that has a frame that is scrolled and > a > > frame that is not scrolled. Using the very helpful post archived at > > http://www.nntp.perl.org/group/perl.tcltk/2010/03/msg393.html, I think I > > have gotten very close to what I want. The problem I still have is that > > the widgets in the frame with the scrollbar do not move when I move the > > scrollbar. I'm certain I'm missing something simple but I don't see > what. > > > > If anyone can suggest what silly little piece I have missed, I would be > > grateful. Here is the code I am using: > > > > use Tkx; > > Tkx::package_require("BWidget"); > > > > $rows = 10; > > $columns = 20; > > > > $mw = Tkx::widget->new("."); > > $mw->g_grid_columnconfigure(0, -weight => 1); > > $mw->g_grid_rowconfigure(0, -weight => 1); > > > > $mwf1 = $mw->new_ttk__frame(); > > $mwf1->g_grid(-column => 0, -row => 0, -sticky => 'ew'); > > $mwf1->g_grid_columnconfigure(0, -weight => 1); > > $mwf1->g_grid_rowconfigure(0, -weight => 1); > > $button = $mwf1->new_ttk__button(-text => 'button'); > > $button->g_grid(-column => 0, -row => 0); > > > > $mwf2 = $mw->new_ttk__frame(); > > $mwf2->g_grid(-column => 0, -row => 1, -sticky => 'ew'); > > $mwf2->g_grid_columnconfigure(0, -weight => 1); > > $mwf2->g_grid_rowconfigure(0, -weight => 1); > > > > $mwsw = $mwf2->new_ScrolledWindow(-managed => 0); > > $mwswf1 = $mwsw->new_ScrollableFrame(); > > $mwsw->setwidget($mwswf1); > > $mwsw->g_grid(-column => 0, -row => 0, -sticky => 'ew'); > > I believe this g_grid call here isn't what you want. The setwidget call > above will place the widget in the parent with the correct parameters. > > > $mwsw->g_grid_columnconfigure($mwswf1, -weight => 1); > > $mwsw->g_grid_rowconfigure($mwswf1, -weight => 1); > > > > $f = Tkx::widget->new($mwswf1->getframe()); > > $f->g_grid(-column => 0, -row => 0, -sticky => 'ew'); > > > > for $i (0 .. ($rows - 1)) { > > for $j (0 .. ($columns - 1)) { > > $cell[$i][$j] = $f->new_ttk__entry(-width => 10); > > $cell[$i][$j]->g_grid(-column => $j, -row => $i, -padx => 0, -pady => > > 0, -sticky => 'nsew'); > > $cell[$i][$j]->insert(0, "$i, $j"); > > } > > } > > > > > > Tkx::update('idletasks'); > > Tkx::wm_geometry($mw, "600x" . Tkx::winfo_reqheight($mw)); > > > > Thanks, > > Scott > > E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties.