首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Perl TK打开文件夹

Perl TK打开文件夹
EN

Stack Overflow用户
提问于 2011-06-09 02:24:15
回答 2查看 1.8K关注 0票数 1

假设我们有一个输入框和一个按钮。当用户按下该按钮时,应从输入框中取出路径并打开相应的文件夹。如何使用Perl/TK完成此任务?提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-12 05:11:11

您可以对打开文件浏览器的命令行进程进行系统调用。在windows上,这显然是start命令,在Linux上,像gnome-opennautilus这样的命令就可以工作。

代码语言:javascript
运行
复制
sub open_directory {
  my $directory = shift;

  if ($^O eq 'MSWin32') {
    exec "start $directory";
  } elsif ($^O = 'linux') {
    exec "gnome-open $directory" or
    exec "kde-open $directory";
  # test for more OS cases
  } else {
    die "cannot open folder on your system: $^O";
  }
} 
票数 3
EN

Stack Overflow用户

发布于 2011-06-09 03:27:34

您可能想尝试像Tk::DirTree widget这样的小部件。

代码语言:javascript
运行
复制
#!/usr/bin/perl
use strict;
use warnings;

use Tk;
use Tk::DirTree;

my $mw = MainWindow->new;
$mw->title("Type path of directory and click OK");
$mw->geometry('400x300+'.int(($mw->screenwidth-400)/2).'+'.int(($mw->screenheight-300)/2));

my $dir = $mw->Entry( -text       => '',
                        -width      => 20, 
                        -font       => 'Courier 12 bold',
                        -background => 'Orange',
)->pack( -ipadx => 35 );

$dir->focus();

$mw->Button( -text       => 'Ok',
             -font       => 'Courier 12 bold',
             -background => 'Orange',
             -command    => sub{ dirwindow($dir) },
  )->pack(   -side       => 'left',
             -ipadx      => 40
);

$mw->Button( -text       => 'Exit',
             -font       => 'Courier 12 bold',
             -background => 'Orange',
             -command    => sub { exit }
  )->pack(   -side       => 'right',
             -ipadx      => 40
);

MainLoop;

sub dirwindow {
    my $d = shift;
    my $dir_val = $d->get;
    my $dl = $mw->DirTree(-directory => $dir_val)->pack(-fill => 'both', -expand => 1);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6283410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档