假設我們有一個輸入框和一個按鈕。當用戶按下按鈕時,它應該從輸入框中取出路徑並打開相應的文件夾。我如何使用Perl/TK來做到這一點?在此先感謝Perl TK打開文件夾
1
A
回答
3
您可能會對打開文件瀏覽器的命令行進程執行系統調用。在Windows上,這顯然是start
命令,在Linux上可以運行如gnome-open
或nautilus
。
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";
}
}
2
你可能想嘗試一個像這樣的小工具。
#!/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);
}
相關問題
- 1. 使用Perl打印到文件Tk
- 2. perl如何打印到perl/tk listbox
- 3. Perl打開文件問題
- 4. 回退打開文件Perl
- 5. 無法打開文件perl
- 6. perl的TK拖放文件夾從Windows資源管理器
- 7. 如何打開文件夾?
- 8. 批量打開文件夾
- 9. VBScript中打開文件夾
- 10. 編輯.bat文件,打開文件夾
- 11. 從父文件夾打開文件
- 12. 從R.raw文件夾打開文件
- 13. GTK + Filechooser打開文件和文件夾
- 14. 如何在perl tk中點擊OK按鈕來打開窗口?
- 15. 如何從EXE打開的文件夾打開文件。 VB
- 16. Chrome擴展開發 - 打開文件夾
- 17. 打開RAR文件並獲取文件夾中的文件夾
- 18. 如何打開多個文件夾並比較Perl中的文件?
- 19. Webservice從App_Data文件夾打開文檔
- 20. 打開文件夾中的docx文檔
- 21. perl打開文件錯誤處理
- 22. 打開文件以在Perl中讀取
- 23. perl無法打開文件的內容
- 24. perl - 打開文件 - 獲取日期
- 25. 在Perl中打開文件的方法
- 26. 如何打開文件在Perl
- 27. Perl檢查文件是否打開
- 28. perl - 安全地打開文件
- 29. Perl的打開文件+哈希+編輯
- 30. Perl中的遞歸打開文件
會嘗試讓你知道。順便說一句,tanx – Allwyn 2011-06-21 08:10:51
調用這個子關閉了我的初始界面窗口。有沒有辦法阻止? – Mohit 2017-09-12 09:57:16
我很久沒有用過tk了。我建議你問一個新問題。 – 2017-09-27 15:55:39