2017-08-22 132 views
0

我用Python和PyGame製作了一個圖形用戶界面,我想從現在開始製作更多未來的GUI。在創建這個特定的GUI時,我發現PyGame可能不是最好的選擇,因爲用戶事件的數量有限,而且圖形質量較差,我的意思是在圖像中的停止按鈕旁邊繪製的弧線,具有未塗漆的像素。PyGame的GUI

我想知道的是:

  • 是我錯了那pygame的是不恰當的,這和我應該仍然使用pygame的? - 也許我不應該使用繪畫,並應該使用圖像,但是然後失去了改變顏色的能力。
  • 我應該學習OpenGL並創建自己的對象和交互嗎?
  • 也許Python不是最合適的工具,可以使用C++和OpenGL或DirectX嗎?

使用Python最好的事情是容易使事情發生,我創建了一個簡單的程序,從網站獲取數據並使用Pandas將其保存爲CSV文件。這個圖形用戶界面只是爲了顯示進度條,並且有一個啓動按鈕在另一個線程中執行主函數,所以GUI不會停止。

GUI made with PyGame

回答

0

你是正確的,pygame的是不是你要找的東西相當,但很多人都在蟒蛇製作遊戲提出了非常廣闊的模塊。另外,python是像C這樣的跨平臺編程語言的事實很棒。唯一的挫折是如果你想讓這個程序獨立。很少有電腦會預裝python 3.6(我忽略了MacOS已經安裝了python 2.7的事實),許多允許您將腳本構建到獨立應用程序的模塊不支持python 3.6。

你可以使用C++與OpenGL或DirectX但這些工具是一個好一點的使用難度,現在我不知道你是在編碼多麼先進,如果你想使你的應用程序同時爲MacOS和Windows平臺需要很多工作來移植應用程序。

這取決於你,我希望我已經幫助!

Mr.Zeus

1

看看herehere,它可能是最快的設置與DirectX渲染GUI。也結帳樣本,也許有關於渲染UI的東西。

DirectX編碼非常吸引人,OpenGL 3+也是如此,DirectX卻以SpriteBatch的簡單性而勝出。另一方面,OpenGL具有用於即時繪製的傳統綁定,因此您可以僅指示形成多邊形和紋理的點,而無需創建緩衝區或任何內容,但我會堅持使用DirectX。

然而,你必須實現像懸停在元素上的用戶輸入來顯示一些信息,這也是非常重要的(需要管理幾何和東西),考慮使用一些隨時可用的庫,如CEGUI