chooseDirectory(3pm) | User Contributed Perl Documentation | chooseDirectory(3pm) |
Tk::chooseDirectory - pops up a dialog box for the user to select a directory.
$widget->chooseDirectory( ?option value ...? );
The method chooseDirectory is implemented as a perl wrapper on the core tk "command" tk_chooseDirectory, and $widget is passed as the argument to the hidden -parent option.
The chooseDirectory method pops up a dialog box for the user to select a directory. The following option-value pairs are possible as command line arguments:
Perl does not have a concept of encoded filesystems yet. This means that operations on filenames like "opendir" and "open" still use byte semantics. Tk however uses character semantics internally, which means that you can get filenames with the UTF-8 flag set in functions like "chooseDirectory", "getOpenFile" and similar. It's the user's responsibility to determine the encoding of the underlying filesystem and convert the result into bytes, e.g.
use Encode; ... my $dir = $mw->chooseDirectory; $dir = encode("windows-1252", $dir); opendir DIR, $dir or die $!; ...
See also "When Unicode Does Not Happen" in perlunicode and "Unicode in Filenames" in perltodo.
my $dir = $mw->chooseDirectory(-initialdir => '~', -title => 'Choose a directory'); if (!defined $dir) { warn 'No directory selected'; } else { warn "Selected $dir"; }
Tk::getOpenFile, Tk::getOpenFile
directory selection dialog
2023-03-23 | perl v5.36.0 |