我正在尋找一種可以將wxPython GUI元素添加到pygame中的方法。如果有另一種方法可以解決添加GUI元素到pygame的目的,請提出建議。我在安裝PGU時遇到問題。感謝您的幫助。在pygame中添加wxpython
5
A
回答
3
沒有;你可以添加wxWidgets到PyGame。添加打開/保存對話框,按鈕等操作很簡單。有時,當您嘗試共享區域時(如上所述,存在衝突的窗口系統),它會變得很討厭,但它絕對是可行的。
我以前寫過幾年,所以很雜亂;但至少很簡單。它應該幫助你開始:
class SDLThread:
def __init__(self,screen):
self.m_bKeepGoing = self.m_bRunning = False
self.screen = screen
self.color = (255,0,0)
self.rect = (10,10,100,100)
def Start(self):
self.m_bKeepGoing = self.m_bRunning = True
thread.start_new_thread(self.Run,())
def Stop(self):
self.m_bKeepGoing = False
def IsRunning(self):
return self.m_bRunning
def Run(self):
while self.m_bKeepGoing:
pass
## GetInput()
## Draw()
self.m_bRunning = False;
class SDLPanel(wx.Panel):
def __init__(self,parent,ID,tplSize):
global pygame
wx.Panel.__init__(self, parent, ID, size=tplSize)
self.Fit()
os.environ['SDL_WINDOWID'] = str(self.GetHandle())
os.environ['SDL_VIDEODRIVER'] = 'windib'
import pygame
pygame.init()
icon = pygame.Surface((1,1));icon.set_alpha(0);pygame.display.set_icon(icon)
global Surface
Surface = pygame.display.set_mode(tplSize)
self.thread = SDLThread(Surface)
self.thread.Start()
def __del__(self):
self.thread.Stop()
+0
謝謝,這給了我很多想法:) – hershey92 2012-07-01 13:22:57
0
我不認爲它的可能,因爲wxPython(使用wxWidgets C++)是一個窗口管理系統的包裝,它依靠OS功能在屏幕上繪製(它根據OS轉換爲正確的系統調用)。
Pygame使用SDL和一個簡單的代碼來管理窗口系統,它只需調用一些操作系統函數來創建窗口並將其提供給SDL,就像畫布一樣。
一種方法是:使用ctypes的,以使C調用到OS庫文件來繪製系統原生窗口部件,不使用任何pygame的功能,這樣
- 。
其他方式(醜陋的,如果作品不能肯定):
- 我不知道怎麼樣,但是找到一種方法,部件轉換爲圖像緩衝區對象,並使用它像面(純位圖)。
我認爲你應該做的:
使用pygame的,使用面和鼠標/鍵盤事件,以控制或下載一些預製的構建自己的GUI。
堅持使用wx,你可以在系統原生主題上輕鬆地構建你的GUI,也可以使用DC(繪製上下文)來繪製像pygame,也許(不確定)包含pygame上下文到wx作爲一個小部件。 你可以從wx擁有自己的事件處理程序中受益。
我希望它能以某種方式幫助你。
相關問題
- 1. 在pygame物理模擬中添加wxPython GUI元素
- 2. wxpython或pygame?
- 3. wxPython中添加行TextCtrl
- 4. 在PyCharm IDE中添加pygame模塊
- 5. wxPython或wxPython中的PyGame canvas - >哪個更快?
- 6. wxpython:添加一個Listctrl組
- 7. wxPython:添加一個about框。
- 8. png在pygame中加載
- 9. wxPython動態添加頁面到嚮導
- 10. wxpython將文件夾添加到listctrl?
- 11. wxPython並在菜單欄中選擇時添加選項菜單
- 12. 在wxpython中單選按鈕旁邊添加圖像
- 13. 如何在wxpython中並排添加兩個文本控件
- 14. 我在哪裏添加鍵盤控件到pygame中的精靈?
- 15. 如何在pygame中添加移動到形狀?
- 16. 在pygame中向屏幕添加文本時遇到問題
- 17. 如何在pygame的事件隊列中添加按鍵事件
- 18. 如何在Pygame中爲圖像添加點擊事件?
- 19. 在wxPython中
- 20. wxMessageBox在wxPython中
- 21. 在wxpython中附加/分離兩幀
- 22. 手錶編號在pygame中加起來
- 23. Pygame在Windows中:ImportError:DLL加載失敗
- 24. 向ListCtrl中的每一行添加一個按鈕WxPython
- 25. WxPython加載文本
- 26. Pygame 1.9.3:向組中添加精靈(沒有職業)
- 27. 如何添加背景圖片到pygame gui中的按鈕?
- 28. 如何在wxpython中將小部件添加到文件對話框中?
- 29. Pygame GUI - 不加載
- 30. 在wxPython
它驚訝地知道python無法添加按鈕,在Java中它是非常簡單的。請證明我錯了! – hershey92 2012-01-10 03:03:49
http://stackoverflow.com/questions/8794506/adding-wxpython-gui-elements-in-a-pygame-physics-simulation的副本。請繼續更新您的原始問題,詳細瞭解您遇到的問題。 – 2012-01-10 17:14:04
這是可能的,因爲我以前做過。雖然我希望它更加兼容。 wxPython比任何pygame GUI庫都好得多。 PGU很糟糕!甚至不打擾下載它。它在你將pygame放入wxpython時可以做什麼是非常有限的,儘管GUI很明智,但它看起來不錯。 – thelost 2012-01-26 20:37:06