目錄
前置:
代碼:
視頻:
前置:
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/