Мне нужно преобразовать этот код PySide в PyQt5, и поскольку большая часть синтаксиса такая же, это не большая проблема. Однако запуск этого кода имеет определенные проблемы. Не могли бы вы помочь мне преобразовать этот код pyside в pyqt5. Большое спасибоПреобразование pyside-кода в pyqt5 код
import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtWidgets import *
class Animation_area(QWidget):
def __init__(self):
QWidget.__init__(self, None)
self.frame_no = 0
self.images = [
QImage("images/frame-" + str(i + 1) + ".png")
for i in range(20)
]
timer = QTimer(self)
timer.timeout.connect(self.update_value)
timer.start(50)
self.pause = False
def paintEvent(self, e):
p = QPainter()
p.begin(self)
p.drawImage(QRect(0, 0, 320, 320), self.images[self.frame_no])
p.end()
def update_value(self):
if not self.pause:
self.frame_no += 1
if self.frame_no >= 20:
self.frame_no = 0
QSound.play("sounds/rabbit_jump.wav")
self.update()
def PlayandPause(self):
if self.pause == True:
self.pause = False
else:
self.pause = True
class Simple_animation_window(QWidget):
def __init__(self):
QWidget.__init__(self, None)
self.anim_area = Animation_area()
layout = QVBoxLayout()
layout.addWidget(self.anim_area)
self.PlayandPauseButton = QPushButton("Pause")
self.PlayandPauseButton.clicked.connect(self.clicked)
layout.addWidget(self.PlayandPauseButton)
self.setLayout(layout)
self.setMinimumSize(330, 400)
def clicked(self):
self.anim_area.PlayandPause()
if self.sender().text() == "Play":
self.PlayandPauseButton.setText("Pause")
else:
self.PlayandPauseButton.setText("Play")
def main():
app = QApplication(sys.argv)
w = Simple_animation_window()
w.show()
return app.exec_()
if __name__ == "__main__":
sys.exit(main())