Szukam sposobu, w którym elementy GUI wxPython mogą być dodawane do pygame. Jeśli istnieje alternatywa, aby rozwiązać problem dodawania elementów GUI do pygame, należy to zasugerować. Mam problem z instalacją PGU. Dziękuję za pomoc.Dodawanie wxpython w pygame
Odpowiedz
Nie; MOŻESZ dodać wxWidgets do PyGame. Dodanie/zapisanie okien dialogowych, przycisków itp. Jest trywialne. Czasami robi się paskudny, kiedy próbuje się dzielić obszarami (jak wyżej, są to sprzeczne systemy okien), ale jest to zdecydowanie wykonalne.
Napisałem kilka lat temu, więc jest brudny; ale przynajmniej jest to proste. To powinno pomóc Ci zacząć:
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()
dzięki temu dało mi to wiele pomysłów :) – hershey92
nie sądzę jego możliwe, ponieważ wxPython (przy użyciu wxWidgets C++) jest nakładką na system zarządzania okno, to polegać na funkcji systemu operacyjnego do rysowania na ekranie (konwertować do odpowiedniego systemu połączeń w zależności od systemu operacyjnego).
Pygame używa SDL i prostego kodu do systemu zarządzania oknami, wywołuje kilka funkcji systemu operacyjnego tylko po to, aby stworzyć okno i przekazać je SDL, aby go narysować, jak płótno.
Jednym ze sposobów jest:
- użyciu ctypes dokonać C wzywa do plików bibliotecznych OS zwrócić rodzimym systemem widgety, w ten sposób, że nie są używane żadne funkcje Pygame.
Inny sposób (brzydkie i nie wiem, czy robót):
- Nie wiem jak, ale znalezienie sposobu na konwersję widgetów do obiektów graficznych buforowych i używać go jak zwykły powierzchnie (bitmap).
Co myślę, że należy zrobić:
Użyj pygame, zbudować własny GUI z wykorzystaniem powierzchni i wydarzenia mysz/klawiatura ją kontrolować lub pobrać jakiś pre-made.
Trzymaj z wx, możesz łatwo zbudować GUI na natywnym systemie, możesz również użyć DC (rysuj konteksty), aby narysować jak pygame, i być może (nie wiesz) zawrzeć kontekst pygame do wx jako jeden widget. Możesz skorzystać z wx posiadającego własny program obsługi zdarzeń.
Mam nadzieję, że w jakiś sposób ci to pomoże.
- 1. Samouczek WXpython
- 2. Wiele wyświetlaczy w Pygame
- 3. Install WxPython w OSX 10.11
- 4. Jak zainstalować wxPython w virtualenv
- 5. Jak wyświetlić obraz w pygame?
- 6. WxPython StaticText Widget Czcionka
- 7. Auto-zakończenie WxPython wxComboBox
- 8. Nieeksportowalne pole tekstowe wxPython
- 9. wxPython wx.lib.plot.PlotCanvas error
- 10. wxPython nie znaleziono błąd
- 11. Czy mogę przenieść okno gry pygame dookoła ekranu (pygame)
- 12. Łączenie PySide i PyGame
- 13. Pygame: Rysuj pojedynczy piksel
- 14. prędkość odtwarzania dźwięku pygame
- 15. Pygame, dźwięki nie grają
- 16. Nowoczesne, nietrywialne samouczki Pygame?
- 17. Odpowiednik Pygame dla Ruby?
- 18. Czy można używać Panda3D w aplikacji wxPython?
- 19. wxPython: Jak wypełnić tekst w panelu Tekst
- 20. Wyświetlanie obrazu .png w oknie wxPython
- 21. Zdarzenia klawiatury przechwytywania wxpython w pliku wx.Frame
- 22. Instalowanie wxPython w virtualenv pod Linuxem
- 23. Generowanie niestandardowego obiektu CommandEvent w wxPython
- 24. Czyszczenie tła w matplotlib za pomocą wxPython
- 25. wxPython: Czy wyłączyć zakładkę notatnika?
- 26. Instalacja wxPython na Ubuntu 12.04
- 27. wxPython Wyłącz zmianę rozmiaru klatki
- 28. Integracja AdMob z pygame w Androidzie
- 29. Podstawowa praca w sieci z Pygame
- 30. PyGame ma ogromne opóźnienie w odtwarzaniu dźwięków
zaskakujące, że Python nie ma możliwości dodania przycisku, w Javie było bardzo proste. Proszę, udowodnij, że jestem zła !! – hershey92
Duplikat http://stackoverflow.com/questions/8794506/adding-wxpython-gui-elements-in-a-pygame-physics-simulation. Kontynuuj aktualizację pierwotnego pytania, podając więcej szczegółów na temat występujących problemów. –
jest to możliwe, tak jak wcześniej to zrobiłem. Chociaż chciałbym, żeby był bardziej kompatybilny. wxPython jest znacznie lepszy niż jakakolwiek biblioteka GUI pygame. PGU ssie wielki czas !!! Nawet nie próbuj go ściągać. Jest bardzo ograniczony do tego, co możesz zrobić, gdy umieścisz pygame w wxpythonie, chociaż GUI jest mądre, wygląda na przyzwoite. – thelost