目录
前置:
代码:
视频:
前置:
1 本系列将以 “PyQt6实例_批量下载pdf工具”开头,放在 【PyQt6实例】 专栏
2 本系列涉及到的PyQt6知识点:
线程池:QThreadPool,QRunnable;
信号与槽:pyqtSignal,pyqtSlot;
界面:QTextEdit,QLabel,QLineText,QPushButton,QMainWindow,QWidget;
布局:QHBoxLayout,QVBoxLayout;
弹框:QFileDialog,QMessageBox。
3 本系列后续会在B站录制视频,到时会在文末贴出链接。本人还是建议先看博文,不懂的再看视频,这样效率高,节约时间。
代码:
def stop_btn_clicked(self):answer = QMessageBox.question(self,'确认停止?','确定要停止任务么?',QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)if answer == QMessageBox.StandardButton.Yes:self.force_stop()passelse:returnpassdef force_stop(self):for item in self.runner_list:item.stop_run()passdef closeEvent(self, a0):answer = QMessageBox.question(self,'确认退出?','退出将中断操作,确定要退出么?',QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)if answer == QMessageBox.StandardButton.Yes:if not self.this_time_start_yeah:a0.accept()else:if self.thread_finished_count == self.max_thread_count:a0.accept()else:QMessageBox.information(self,'提示','正在存储必要信息为下次断点续传做准备,需要等几秒后关闭',QMessageBox.StandardButton.Ok)a0.ignore()self.waitting_close = Trueself.force_stop()passpasselse:a0.ignore()passpass
视频:
https://www.bilibili.com/video/BV1AuZPYiEd9/