|
|
@@ -85,6 +85,24 @@ class WorkerThread(QThread):
|
|
|
self.signal.emit(f"下单失败: {e}") # 发送信号,通知主线程下单失败
|
|
|
|
|
|
|
|
|
+class LoginThread(QThread):
|
|
|
+ """用于执行登录逻辑的线程"""
|
|
|
+ signal = pyqtSignal(str) # 定义一个信号,用于将信息传递回主线程
|
|
|
+
|
|
|
+ def __init__(self, thread_num, accounts_file, pocket_url):
|
|
|
+ super().__init__()
|
|
|
+ self.thread_num = thread_num
|
|
|
+ self.accounts_file = accounts_file
|
|
|
+ self.pocket_url = pocket_url
|
|
|
+
|
|
|
+ def run(self):
|
|
|
+ try:
|
|
|
+ login_account(self.thread_num, self.accounts_file, self.pocket_url)
|
|
|
+ self.signal.emit("登录成功") # 发送信号,通知主线程登录成功
|
|
|
+ except Exception as e:
|
|
|
+ self.signal.emit(f"登录失败: {e}") # 发送信号,通知主线程登录失败
|
|
|
+
|
|
|
+
|
|
|
class MainWindow(QMainWindow, Ui_menu):
|
|
|
def __init__(self, param1, param2):
|
|
|
super().__init__()
|
|
|
@@ -225,7 +243,11 @@ class MainWindow(QMainWindow, Ui_menu):
|
|
|
if self.urlLineEdit.text():
|
|
|
pocket_url = self.urlLineEdit.text()
|
|
|
save_all_proxy_ip_v3(get_resource_path("proxy_list.txt"))
|
|
|
- login_account(thread_num, get_resource_path("accounts.txt"), pocket_url)
|
|
|
+
|
|
|
+ # 创建登录线程
|
|
|
+ self.login_thread = LoginThread(thread_num, get_resource_path("accounts.txt"), pocket_url)
|
|
|
+ self.login_thread.signal.connect(self.on_login_thread_signal)
|
|
|
+ self.login_thread.start()
|
|
|
else:
|
|
|
QMessageBox.warning(self, '警告', '请输入URL')
|
|
|
return
|
|
|
@@ -326,6 +348,11 @@ class MainWindow(QMainWindow, Ui_menu):
|
|
|
def on_worker_thread_signal(self, message):
|
|
|
QMessageBox.information(self, "下单结果", message)
|
|
|
|
|
|
+ # 处理登录线程信号
|
|
|
+ @pyqtSlot(str)
|
|
|
+ def on_login_thread_signal(self, message):
|
|
|
+ QMessageBox.information(self, "登录结果", message)
|
|
|
+
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
app = QApplication(sys.argv)
|
|
|
@@ -334,4 +361,4 @@ if __name__ == "__main__":
|
|
|
window = MainWindow("Hello", "World")
|
|
|
window.show()
|
|
|
|
|
|
- sys.exit(app.exec_())
|
|
|
+ sys.exit(app.exec_())
|