You should learn to use code tags to help us read your code
<code>
....your code here
</code>
but here is a working version, of what I THINK you want.
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::FileSelect;
my $mw = MainWindow->new;
$mw->configure( -background => 'black', -foreground => 'white' );
$mw->geometry( "400x100" );
$mw->title( "Multiple Windows Test" );
my $button1 = $mw->Button(
-text => "view Results",
-background => "cyan",
-command => \&button1_sub
)->pack( -side => "right" );
$mw->Button( -text => "Exit", -command => sub { exit } )
->pack( -side => "bottom" );
sub button1_sub {
my $subwin1 = $mw->Toplevel;
$subwin1->geometry( "500x400" );
$subwin1->title( "Sub Window #1" );
my $fh;
open( $fh, '+<', "./$0" ) or die $!; #just open script for test
my @contents = <$fh>;
# print "@contents\n";
close( $fh );
my $sublable = $subwin1->Scrolled( 'Text', -scrollbars => 'osoe', )-
+>pack;
$sublable->insert( 'end', @contents );
my $subwin_button = $subwin1->Button(
-text => "Close window",
-command => sub {$subwin1 => 'destroy'}
)->pack( -side => "bottom" );
#=================Creating save buttion on subwindow ===========
my $save_button = $subwin1->Button(-text=>'save',
-command =>\&get_save, -background =>'cyan')->pack(-side=>'right');
+
}
MainLoop;
#sub get_save{
# getSaveFile(-title => 'Select a file to APPEND',-defaultextension=>'
+.in');
#}
sub get_save {
my $dst = $mw->getSaveFile(
-initialdir => $ENV{HOME},
-defaultextension => '.in',
-title => 'Save',
-filetypes => [
[ 'myfiles' => '.in' ],
[ 'All files' => '*' ],
],
);
$dst ||= '<undef>';
warn "dst=$dst";
}
|