0
我有一个Win32的Perl TK应用我的工作,并且使这个简单的用户,我想从窗户的文件夹拖N个液滴功能资源管理器/桌面到我的应用程序中的小部件(例如文本框等)。
的原因是为了消除手动目录/文件选择对话框等
一些示例代码,将不胜感激。提前致谢。
杰里米。
我有一个Win32的Perl TK应用我的工作,并且使这个简单的用户,我想从窗户的文件夹拖N个液滴功能资源管理器/桌面到我的应用程序中的小部件(例如文本框等)。
的原因是为了消除手动目录/文件选择对话框等
一些示例代码,将不胜感激。提前致谢。
杰里米。
有模块Tk :: DropSite应该为你工作。
一个例子代码可以在这里找到:http://www.nntp.perl.org/group/perl.tcltk/2010/02/msg375.html
这是一个工作示例代码:
#!perl
use strict;
use Tk;
use Tk::DropSite;
use Tk::Pane;
my $textVariable = "drag here";
my $mw = MainWindow->new;
my $frame = $mw->Frame(
)->pack(-side => 'top', -expand => 1, -fill => 'x');
$frame->Label(
-text => "My Label",
-anchor => 'w',
-width => 10,
)->pack(-ipady => 1, -side => 'left');
my $entry = $frame->Entry(
-textvariable => \$textVariable,
-width => 40,
)->pack(-side => 'left');
$frame->DropSite(
-dropcommand => [\&AcceptDrop, $frame],
-droptypes => ('Win32'),
);
$mw->MainLoop;
sub AcceptDrop {
my ($widget, $selection) = @_;
my $filename;
$filename = $widget->SelectionGet(
-selection => $selection,
'STRING'
);
$textVariable = $filename;
} # /AcceptDrop
如果你知道德国,看看这里:http://www.perltk.de/tk_widgets/howto_perl_tk_tkx_comparison.html
在Perl/Tk的源代码分发,DragDrop目录中有一些示例脚本。你能检查这些(如site_test)是否适合你? –