Возможно ли в PyQt5 импортировать модели и если да то как?

У меня имеется мини движок, и мне нужно, что бы вместо картинки передвигалась какая-нибудь 3д модель (например obj), возможно ли это? И если да то как это реализовать? Мой код:

import sys
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.Qt import *

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.btn1 = QPushButton(self)
        self.btn1.setMouseTracking(True)
        self.btn1.setText("←")
        self.btn1.setStyleSheet("background-color: pink; border-radius: 70px;")
        self.btn1.setFont(QtGui.QFont("Pusia-Bold.otf", 30, QtGui.QFont.Bold))
        self.btn1.resize(150, 150)
        self.btn1.move(160, 650)

        self.btn2 = QPushButton(self)
        self.btn2.setMouseTracking(True);
        self.btn2.setText("→")
        self.btn2.setStyleSheet("background-color: pink; border-radius: 70px;")
        self.btn2.setFont(QtGui.QFont("Pusia-Bold.otf", 30, QtGui.QFont.Bold))
        self.btn2.resize(150, 150)
        self.btn2.move(400, 650)

        self.btn3 = QPushButton(self)
        self.btn3.setMouseTracking(True)
        self.btn3.setText("↓")
        self.btn3.setStyleSheet("background-color: pink; border-radius: 70px;")
        self.btn3.setFont(QtGui.QFont("Pusia-Bold.otf", 30, QtGui.QFont.Bold))
        self.btn3.resize(150, 150)
        self.btn3.move(280, 790)

        self.btn4 = QPushButton(self)
        self.btn4.setMouseTracking(True)
        self.btn4.setText("↑")
        self.btn4.setStyleSheet("background-color: pink; border-radius: 70px;")
        self.btn4.setFont(QtGui.QFont("Pusia-Bold.otf", 30, QtGui.QFont.Bold))
        self.btn4.resize(150, 150)
        self.btn4.move(280, 510)

        self.btn1.pressed.connect(lambda: self.btn_pressed('Влево'))
        self.btn1.released.connect(self.btn_released)
        self.btn2.pressed.connect(lambda: self.btn_pressed('Вправо'))
        self.btn2.released.connect(self.btn_released)
        self.btn3.pressed.connect(lambda: self.btn_pressed('Вниз'))
        self.btn3.released.connect(self.btn_released)
        self.btn4.pressed.connect(lambda: self.btn_pressed('Вехр'))
        self.btn4.released.connect(self.btn_released)

        self.lbl1 = QtWidgets.QLabel(self)
        self.pix = QtGui.QPixmap("image.jpg")
        self.lbl1.setPixmap(self.pix)
        self.lbl1.resize(1000, 1000)
        self.lbl1.move(600, 0)

        self.num = 5

        self.timer = QTimer()
        self.timer.timeout.connect(self.on_clicked)
        self.timer.setInterval(10)

        self.text = None

    def btn_pressed(self, text):
        self.text = text
        self.timer.start()

    def btn_released(self):
        self.timer.stop()


    def on_clicked(self):  # , text=''): !!!
        print(f'{self.text}')
        if self.text == "Влево":
            x, y = self.lbl1.pos().x(), self.lbl1.pos().y()
            x = x - self.num if x - self.num > 0 else 0
            self.lbl1.move(x, y)
        elif self.text == "Вправо":
            x, y = self.lbl1.pos().x(), self.lbl1.pos().y()
            w = self.size().width() - self.lbl1.size().width()
            x = x + self.num \
                if x + self.num < w else w
            self.lbl1.move(x, y)
        elif self.text == "Вниз":
            x, y = self.lbl1.pos().x(), self.lbl1.pos().y()
            w = self.size().width() - self.lbl1.size().width()
            y = y + self.num \
                if y + self.num < w else w
            self.lbl1.move(x, y)
        elif self.text == "Вехр":
            x, y = self.lbl1.pos().x(), self.lbl1.pos().y()
            w = self.size().width() - self.lbl1.size().width()
            y = y - self.num \
                if y - self.num < w else w
            self.lbl1.move(x, y)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    ex = MainWindow()
    ex.resize(2000, 1800)
    ex.show()
    sys.exit(app.exec_())

Ответы (0 шт):