與其他解決方案相比,Tk模塊在Perl中創建GUI有什麼缺點?Perl Tk模塊的缺點是什麼?
回答
我最近瀏覽了Perl的各種GUI模塊,這裏是我的總結(免責聲明:最終我發現現有的模塊都不符合我的需求,所以我開始編寫我自己的GUI工具包)。
Tk的 - 有體面的工作和接口是非常Perl。 GUI本身有點過時,並沒有利用任何操作系統的原生小部件(如filepickers)。在大多數系統上,它需要安裝一個C編譯器。
蠟質 - 很難用,未Perlish的接口工作。大型項目幾乎需要一個gui builder來跟蹤一切。對os級別小部件的支持是混合的。比Tk IMO更好看。涉及編譯,需要安裝幾個庫,可能很難在Windows上運行。程序集非常程序化,並且不會完全映射到程序的實際外觀。
Qt的 - 去年我看了這個模塊是或多或少遺棄,只支持QT3。我沒有嘗試安裝它,但我想它需要一個編譯器。
Prima - 與Tk類似,它具有過時的外觀。需要一個編譯器。
W32 :: GUI - 我排除了這一可能性的早期,因爲它不是跨平臺的。
XUL :: Node/POE :: XUL :: Node - 包含C代碼的相當重的依賴關係樹。似乎沒有維護,我有混合的經驗讓它安裝。 Windows是不行的,OSX是不行的,它在OpenSUSE上的功能有限。它也只支持XUL語言的一個子集。
我發現現有的gui工具包都不能讓您輕鬆地將應用程序分發給最終用戶。可以期待程序員跳過解決庫依賴和編譯代碼的束縛,但最終用戶不會那樣做。所以我的第一個要求是成爲純Perl。其次,幾乎所有現有的gui工具包都迫使你以非常程序化的方式工作:創建一個容器。爲容器創建一個包裝器。創建一個對象。在該對象上設置屬性。將對象添加到打包器。運行打包器來填充容器對象。重複。
相反,我發現嵌套的設計(如HTML)是容易按照有兩個原因。首先,因爲對象是嵌套的,所以不需要命名所有內容(label_456,label_457 ...)。其次,程序的結構反映了顯示內容的結構。
所以我開始了XUL::Gui的工作,它的進展相當順利。它是純粹的Perl,只依靠核心模塊來簡化安裝。它有一個外部要求,就是安裝最近的(3+)Firefox副本。它使用熟悉的web開發設計模式,並使用CSS樣式的嵌套標籤。當然,您可以在其中編寫功能齊全的單窗口應用程序。
希望這可以幫助你找出哪些工具是最適合你的項目。
通過使用這裏提到的二進制文件,你可以在Windows上安裝wxPerl而不會複雜化。http://www.wxperl.it/p/download.html – 2017-05-03 03:10:56
Tk在很長時間內還沒有開發出來。 ActiveState現在推薦使用Tkx工具包進行開發,該工具包提供了TclTk上的一個薄層。這意味着主題小工具是可能的。但是,與許多其他GUI工具包相比,TclTk仍然非常原始。
我還沒有嘗試XUL:Gui,但似乎要走的路。
在Windows和OSX上,Tk(尤其是Ttk小部件)看起來確實非常好使用原生小部件。我們一直在研究如何在Linux上使用「本地」小部件,但問題是(顯然,根據Georgios Petasis最近的一份會議論文),即使在常見的度量標準GTK和Qt主題中存在一些相當普遍的問題那些。 – 2011-01-11 13:36:48
我之所以說「native」是因爲Tk *是一個原生的X11工具包,並且在創建GTK或Qt之前就已經很好了。 – 2011-01-11 13:40:13
這些天,Tk可能得不到很多發展,但至少它保持活力,並且仍然會安裝在大多數perl版本的系統上。 – 2013-07-17 13:40:10
- 1. 這些Tk :: Perl中的Perl/Tk錯誤是什麼意思?
- 2. PHP APC模塊。有什麼缺點?
- 3. 使用什麼Perl模塊?
- 4. TableAdapterManager的缺點是什麼?
- 5. VirtualizingStackPanel的缺點是什麼?
- 6. callStackSymbols的缺點是什麼
- 7. SqlBulkCopy的缺點是什麼
- 8. DWR的缺點是什麼?
- 9. 將ActiveRecord方法放入模塊的優點和缺點是什麼?
- 10. 爲什麼我的Django模塊缺失?
- 11. 使用XML模式的優點和缺點是什麼?
- 12. Perl中BEGIN塊的作用是什麼?
- 13. 我應該在Perl GUI中使用Perl/Tk,Tcl :: Tk還是Tkx?
- 14. 使用LOGO的缺點/缺點是什麼?
- 15. Perl對OOP有什麼優點和缺點?
- 16. 鏈接列表的缺點是什麼?
- 17. Java Bean Class的缺點是什麼?
- 18. 使用P/Invoke的缺點是什麼
- 19. Stackless Python的缺點是什麼?
- 20. AJAX在Rails上的缺點是什麼?
- 21. 紅黑樹的缺點是什麼?
- 22. 是什麼<!DOCTYPE HTML>的缺點
- 23. Gradle的當前缺點是什麼?
- 24. MSR加速器的缺點是什麼
- 25. 使用Shadow DOM的缺點是什麼?
- 26. 什麼是「雙重生活」模塊?
- 27. 單身模式有什麼缺點嗎?
- 28. 是什麼導致perl非常慢地導入模塊?
- 29. Facade設計模式的缺點是什麼?
- 30. C++對象模型的缺點。解決辦法是什麼?
爲什麼你只關心缺點?相對於什麼?另請參閱http://stackoverflow.com/questions/1249186/should-i-use-perl-tk-tcltk-or-tkx-for-a-perl-gui – 2010-04-07 14:57:50
我希望有人會爭辯我做perl-gui -programming。 – 2010-04-07 16:44:16