看板 Perl 關於我們 聯絡資訊
各位好,最近在練習perl tk 遇到一個回傳值的問題。 如圖所示,一個簡單的選擇檔案的按鈕,在subroutines裡選擇檔案名字後, 想要丟回主程式,繼續使用這個檔案名字的變數繼續去做事情。 不太清楚要怎麼寫,爬網頁也都只介紹元件用法,沒有寫到類似這種回傳值的問題。 有沒有強者願意幫忙指導一下,非常感謝。 我人在台北或新竹願意付一些費用,期待有好心人願意指導一下。 謝謝 https://imgur.com/SLDmhK5 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.198.49 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1603445403.A.D12.html
loveyc: Tk::getOpenFile 10/24 19:26
irishcafee: 您好,是使用tkgetopenfile指令後,已經得到檔案位址 10/25 00:19
irishcafee: 變數後,發現檔案變數只能在subroutine裡做用,使用re 10/25 00:19
irishcafee: turn,發現傳不回主程式,需要在主程式使用檔案變數 10/25 00:19
flu: signal, pipeline, socket 之類, IPC 範疇的東西 10/27 19:53
flu: https://perldoc.pl/perlipc 10/27 19:53
imce: 在我還菜的時候,我會把檔名寫到一個txt檔,然後主程式去讀 10/28 15:48
LiloHuang: 你的 GUI 都有個 event loop 在跑了, 把它停掉就好了 10/31 11:17
LiloHuang: 方法就是在 somesub 改完變數後, 呼叫 $mw->destroy(); 10/31 11:19
LiloHuang: 自然就會跳開 MainLoop, 就會印你改過的結果了 10/31 11:20
LiloHuang: 猜測你只是要選 DRC rule, 之後 GUI 就不需要存在了 10/31 11:21
LiloHuang: 如果你 GUI 還得一直在, 那麼就得想辦法開 thread 10/31 11:21
LiloHuang: 或者 child process, 把 task 丟到 background 跑 10/31 11:21