Re: Is a hash the best method to do this?



On Dec 24, 6:23 pm, vorticitywo...@xxxxxxxxx wrote:
Hello,

I have a gui which reads a lot of data and fills in a table of entry
widgets with the updated values for certain variables. I want to make
it more dynamic and be able to creates x by y number of entry widgets
on the fly. Right now, I have a program that works, but I have
thousands of lines of repeated code and it just keeps getting more
difficult to keep track of everything, particularly when I want to
change one thing. I wrote a previous post about defining variables
within a for loop, which sounded good to me until I read some of the
other posts on why this is bad. Hashes seem like they would work for
this, but as a novice, it seems a little over my head on how to
accomplish this.

From here on, I think the code can be cleaned up and I should only
have to define it once while still maintaining the flexibility to add
more rows/columns. Is that possible?

# N ROWS
################################################
@stn=(0...N-1);

my $left2a = $top->Frame()->pack(-side=>'left',-pady=>2,-padx=>7);
# N Columns
################################################
my $z0=$left2a->Label(-text=>'Time (Z)',)->pack();
my $z1=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z2=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z3=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z4=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z5=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z6=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();
my $z7=$left2a->Entry(-justify=>'center',-background=>'light green',-
width=>5,-borderwidth=>2,-relief=>'sunken')->pack();

# FIRST STATION
################################################################
if ($string =~/$stn[0]/){
if($string =~ m/\d\d(\d\d\d\d)Z/){#if($string =~ m/(\d\d\/d\d)/){
if (defined($1)) {
$time=$1;
}

}else{
$time="M";
}
$z1->delete('0.0','end');
$z1->insert('1.0',$time);
}

I hope this is clear enough, if not feel free to ask. Any suggestion
is helpful.
Thanks,
Jonathan

sorry posted in wrong group this should go under Tk
.



Relevant Pages

  • Re: a question about tkinter StringVars()
    ... Within createWidgets() I create several StringVarsand assign them to the textvariable option of several widgets. ... Though 'var' would normally go out of scope when createWidgets ... only the name 'var' goes out of scope, not the StringVar object, Right? ... no reference from the Entry widget to the variable object. ...
    (comp.lang.python)
  • Re: automaticall bindings for buttons in frame?
    ... >> button although the buttons have no bindings for the Tab-key. ... It is a binding on "all", which means it applies to all widgets. ... >> with some entry widgets and these have a binding for the Tab-key ... > This feature exists for a reason. ...
    (comp.lang.tcl)
  • Re: Mega widgets and Tk::options
    ... But only the second Entry has a green background. ... package MyText; ... ConfigSpecs() to define its options. ... both Entry widgets is green with the following line: ...
    (comp.lang.perl.tk)
  • Is a hash the best method to do this?
    ... I have a gui which reads a lot of data and fills in a table of entry ... widgets with the updated values for certain variables. ... this, but as a novice, it seems a little over my head on how to ...
    (comp.lang.perl.modules)
  • Is a hash the best method to do this?
    ... I have a gui which reads a lot of data and fills in a table of entry ... widgets with the updated values for certain variables. ... this, but as a novice, it seems a little over my head on how to ...
    (comp.lang.perl.tk)