http://www.perlmonks.org?node_id=1022975


in reply to itemconfigure in listbox (Tk)

(Written before you showed your code) Probably the reason is that readdir just returns the file name. If you want to do file tests on the file, you need to include the path... like so:

#!/usr/bin/perl use warnings; use strict; use Tk; my %tk; $tk{mw} = MainWindow->new; $tk{frame} = $tk{mw}->Frame->pack( -expand => 1, -fill => 'both', -anchor => 'nw' ); $tk{listbox} = $tk{frame}->Scrolled( 'Listbox', -selectmode => 'single', -scrollbars => 'ose', )->pack( -expand => 1, -fill => 'both', -padx => 5, -pady => 5, ); my $dir = q|/|; readDir($dir); MainLoop; sub readDir{ my $dir = shift; opendir(my $dh, $dir) or die "Can't opendir $dir: $!"; my @all = readdir($dh); for my $x (sort (@all)){ next if($x =~ /^\.$/); $tk{listbox}->insert('end', $x); if(-d $dir.$x){ print "$x\n"; $tk{listbox}->itemconfigure($tk{listbox}->size()-1, -foreg +round=>"#F00"); } } close $dh; }

Replies are listed 'Best First'.
Re^2: itemconfigure in listbox (Tk)
by ch4inm4n (Novice) on Mar 12, 2013 at 13:10 UTC
    Thank you very much :)
    Now everything works fine