python - 如何在 PyQt5 中随机加载 gif 文件?
问题描述
我的目标是通过随机选择加载/播放 Gifs 动画文件。但是随机选择的文件没有正确加载。如何加载随机选择的文件。如何解决?
import os,sys
from PyQt5.QtWidgets import QWidget, QButtonGroup,
QMessageBox,QDialog,QDialogButtonBox,QVBoxLayout,QLabel
class CustomDialog(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("HELLO!")
QBtn = QDialogButtonBox.Ok | QDialogButtonBox.Cancel
self.buttonBox = QDialogButtonBox(QBtn)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.layout = QVBoxLayout()
self.label = QLabel()
message = QLabel("Something happened, is that OK?")
path = r"D:\project makeeasy\Gifs\thumbdown"
random_choice = random.choice(([x for x in os.listdir(path)
if os.path.isfile(os.path.join(path,x))
]))
print(random_choice)
filename = path + random_choice
print(filename)
self.movie = QMovie(filename)
self.label.setMovie(self.movie)
self.layout.addWidget(self.label)
self.movie.start()
self.layout.addWidget(message)
self.layout.addWidget(self.buttonBox)
self.setLayout(self.layout)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainwindow = CustomDialog()
mainwindow.show()
sys.exit(app.exec_())