首页 > 解决方案 > 如何在 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_())

标签: pythonpyqtpyqt5

解决方案


推荐阅读