Hi,
ich bin heute auf ein Problem mit Radiobutton gestoßen und weiß nicht wie ichs lösen soll.
Normalerweise werden ja Radiobutton z.B. so aufgebaut
my $radvar='rot';
$mw->Radiobutton(-text => 'rot', -variable=>$radvar, -value=>'rot', -anchor=>'w')->pack(-fill,'x');
$mw->Radiobutton(-text => 'gelb', -variable=>$radvar, -value=>'gelb', -anchor=>'w')->pack(-fill,'x');
Jetzt zu meinem Problem. Ich bau mein Interface mit Hilfe einer sub auf und die Werte für die Radiobuttons kommen nicht aus einer Variable sondern aus einem Hash.
Deswegen reagiert jeder meiner Radiobuttons als eigenständiger Button und nicht als Gruppe.
Wie könnte ich das Problem lösen? Gibt es vieleicht ne alternative zu Radiobutton(hab keine gefunden)
Hier noch mal ein kleinen Auszug aus meinem Code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
sub hlist_notebook{
my ( $hash_ref, $hash_ref_ini, $page, $hlist, $befehl, $choices) = @_;
my ( $counter, $choices_for_browse, $choices_befehl, $feld, $feldname);
for $feldname (keys(%{$hash_ref_ini})) {
$counter++;
}
my @choices = lies_tabellen_zeilen($dbh, "adresstyp", "beschreibung");
$hlist = $page->Scrolled("HList",
-header => 1,
-columns => $counter,
-scrollbars => 'oe',
-width => 145,
-height => 20,
-relief => 'flat',
-selectbackground => 'SeaGreen3',
#-background => ''white'',
)
->$befehl();
for my $datensatz_id (sort keys(%{$hash_ref})){
my $e = $hlist->addchild("");
for $feldname (keys(%{$hash_ref_ini})) {
my $browse = $hash_ref_ini->{$feldname}->{'widget'};
$hlist->header('create', $hash_ref_ini->{$feldname}->{'place'}, -itemtype => 'window', -widget => $hlist->Button(-text => $hash_ref_ini->{$feldname}->{'buttonname'}, -relief => 'flat', -command => [ \&MyTk::HList::order, $hash_ref_ini->{$feldname}->{'place'}, 0 ]), -style => $headerstyle);
$hlist->itemCreate($e, $hash_ref_ini->{$feldname}->{'place'}, -itemtype => 'window', (-widget => $feld = $hlist->$browse($hash_ref_ini->{$feldname}->{'variable'} => \$hash_ref->{$datensatz_id}->{$feldname}, -width => $hash_ref_ini->{$feldname}->{'width'})));
if ($browse eq "BrowseEntry"){
$feld->insert('end',$_) for (@choices);
}
}
}
}#hlist_notebook
Gruß
Seri aka Zipster