2013-06-04 34 views
2

我已經完成了相當多的搜索,但似乎找不到最新的答案。用於Windows 7的GUI的Perl應用程序

我目前正在重寫一個用Perl編寫的應用程序。所以我不是從頭開始的。

該應用程序目前已經有一個用C#.net編寫的基本GUI,但我的目標之一是創建一個新的改進的GUI。該GUI在實現幾個功能,所以它真的會減輕我的工作量,如果我能在.NET中使用的GUI建設者像

現在我的問題:

我想GUI和Perl的邏輯分離。所以理論上它應該可以工作,如果我創建的GUI只是調用各種Perl腳本 - >哪些做了什麼,然後將某些東西返回給GUI。

有沒有人有過使用C#.net創建的GUI與各種Perl腳本進行交互的經驗?如果是的話,你可以告訴我一些你在體驗過程中注意到的正面或負面的東西。

我也一直在玩tkx。我想我可以使用這個,但它會突然增加開發時間。有誰會知道一個生成perl tkx代碼的GUI生成器嗎?

我也看過像TK,QT等其他人,但主要問題是他們都有依賴關係。

我將不勝感激任何意見。 謝謝

回答

1

你想在C#中有一個新的GUI? Visual Studio有一個用於WinForms和WPF的GUI構建器。 WinForms構建器相當不錯,但WPF其實是一個廢話,最好是自己手動編寫XAML代碼,並且只使用構建器來可視化你正在構建的東西。對於動畫/模板的認真工作,我推薦Blend。

我從來沒有執行perl腳本,但是執行其他外部程序的過程不會不同,如果你的perl解釋器沒有體面的.net api。

對於以「標準方式」執行腳本,您可以使用System.Diagnostics命名空間中的Process類。您可以放入命令行參數或標準輸入並讀取標準輸出和標準錯誤。唯一需要擔心的是,如果外部程序掛起,將某些內容放到stderr中但不會結束,則可能會卡住。你應該同時讀取腳本的stdout和stderr(每個都在單獨的線程中),Process也應該被實例化並在自己的線程中運行 - 所以你不會掛起你的應用程序,你可以監視進程併爲用戶提供「取消」按鈕。

這個好東西是從System.ComponentModel.BackgroundWorker命名空間的BackgroundWorker類,它可以處理大量的「低級別的線程的東西」本身

+0

感謝您的答覆。是的,當等待n回答我正在做一些與Process類的東西。這似乎運作良好。把所有東西都放在自己的線程中似乎是正確的路要走。我會挑釁地使用你發佈的信息 – BuildingJarl

1

ActiveState似乎已經發布了一個名爲GUI Builder的程序。它似乎與Perl,Ruby,TCL & Python兼容。

+0

酷感謝病檢查出來 – BuildingJarl

相關問題