Как интегрировать Pygame и PyQt4?
Я использую Python 2.7 и Ubuntu 14.04.
Я пытаюсь сделатьэтот для того, чтобы мое окно пигмея в моем графическом интерфейсе
На некоторых платформах возможно встраивать отображение pygame в уже существующее окно. Для этого переменная среды SDL_WINDOWID должна быть установлена в строку, содержащую идентификатор окна или дескриптор. Переменная окружения проверяется при инициализации дисплея Pygame
Вот что я сделал:
from PyQt4 import QtGui, QtCore
import os
import subprocess
import sys
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setWindowModality(QtCore.Qt.ApplicationModal)
MainWindow.setFixedSize(800, 600)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.iniMap()
def iniMap(self):
command = "xprop -root _NET_ACTIVE_WINDOW"
output = subprocess.Popen(["/bin/bash", "-c", command], stdout=subprocess.PIPE)
activeWindowID = str(output.communicate()[0].decode("utf-8").strip().split()[-1])
os.environ['SDL_WINDOWID'] = activeWindowID
import pygame
pygame.init()
screen = pygame.display.set_mode((565, 437), pygame.NOFRAME)
class frmMain(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(frmMain, self).__init__(parent, flags=QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.setupUi(self)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
form = frmMain()
form.show()
sys.exit(app.exec_())
Но это не работает. Это показывает только мое окно PyQt. Я не знаю, делаю ли я что-то не так или Pygame просто не может быть интегрирован с PyQt
Что я должен сделать, чтобы встроить мое окно пигмея вfrmMain
?
Заранее спасибо.