2014-05-01 104 views
2

我在運行Windows 8.我有一個名爲「test.tcl」的文件。用Wish應用程序打開一個Tcl文件

  • 如果我打開一個shell,輸入「wish」,然後打開2個窗口。在其中一箇中,我可以輸入Tcl代碼並打開文件test.tcl。如果我打開這個文件,它的代碼被執行。
  • 如果我雙擊test.tcl打開該文件與「願望應用程序」,然後1個空白窗口打開,並沒有任何反應。

你知道爲什麼嗎?

+1

你確定什麼都沒有發生? test.tcl中的代碼應該執行,並且在第二種情況下執行完成時窗口會出現。 – Jerry

+0

我測試過的代碼是「放一個」。我沒有看到「a」。 – Arnaud

+1

這是因爲您看到的窗口不是'stdout'('puts'的默認輸出通道)。嘗試把東西創建一個文本文件,如'set f [open「output.txt」w];關閉$ f',你會看到一個文件出現,這意味着執行的代碼。您可以在開始時打開文件,然後在關閉文件之前使用'puts $ f a'將所有內容放入該文件。你會看到該文件中的輸出。 – Jerry

回答

2

在Windows上,願望是建立一個唯一的GUI應用程序;它沒有真正的標準輸出。 Tk雖然給你一個假貨,只是把這個在你的腳本,以顯示假控制檯:

console show 

假控制檯默認情況下出現在你沒有啓動腳本文件,而是用一個腳本文件啓動不顯示它(所以你的腳本文件當然可以實現一個應用程序)。

這樣纔可以吸引人們時,他們產生大量的輸出上stdout。 Tk很可能會保留所有內容以防萬一代碼在console show後面出現,儘管它看上去很像內存泄漏,如果你沒有準備好它的話......

+1

鑑於「內存泄漏」的評論,是否有空間「控制檯清除」或「控制檯刪除index1?index2?」命令? –

相關問題