window.close()取消提醒框

本文将介绍一种简单有效的技巧,通过使用JavaScript代码片段,实现窗口的打开与关闭操作,进而帮助用户轻松取消提醒并优化其工作流程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要取消提醒,可如下写

window.open("", "_self");//增加此行代码
window.close();

from OpenCV.exam.project import login import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox from uimain import MainWindow import sqlite3 class App: def __init__(self): self.db = sqlite3.connect('student.db') self.app = QApplication(sys.argv) self.win = QMainWindow() self.loginUi = login.Ui_MainWindow() self.loginUi.setupUi(self.win) self.loginUi.widget_3.hide() self.loginUi.widget_2.show() self.main_window = None self.is_logged_in = False self.login_button_clicked = False # 防止按钮重复点击 # 连接信号和槽 self.setup_connections() def setup_connections(self): # 使用更可靠的方式清除和设置连接 try: self.loginUi.pushButton.clicked.disconnect() self.loginUi.pushButton_2.clicked.disconnect() self.loginUi.pushButton_3.clicked.disconnect() except: pass # 使用lambda表达式添加单次连接 self.loginUi.pushButton.clicked.connect(self.change_widget2) self.loginUi.pushButton_2.clicked.connect(self.change_widget3) self.loginUi.pushButton_3.clicked.connect(lambda: self.safe_login()) def safe_login(self): # 防止按钮重复点击 if self.login_button_clicked: return self.login_button_clicked = True try: self.login_and_open_main() finally: # 无论成功与否都允许再次点击 self.login_button_clicked = False def change_widget3(self): self.loginUi.widget_2.hide() self.loginUi.widget_3.show() def change_widget2(self): self.loginUi.widget_3.hide() self.loginUi.widget_2.show() def validate_user(self, student_id, password_hash): # 这里可以添加数据库验证逻辑 if student_id == '23016021004' and password_hash == '021004': return True return False def login_and_open_main(self): # 如果已经登录,直接返回 if self.is_logged_in: return # 获取用户输入 student_id = self.loginUi.lineEdit.text() password_hash = self.loginUi.lineEdit_2.text() # 验证用户 if self.validate_user(student_id, password_hash): self.is_logged_in = True # 创建主窗口实例(如果尚未创建) if not self.main_window: # 注意:将当前窗口实例传递给主窗口 print("创建主窗口实例") self.main_window = MainWindow(login_window=self.win, student_id=student_id) # # 确保只显示一个主窗口 # if not self.main_window.isVisible(): print("显示主窗口") self.main_window.show() # 隐藏登录窗口 print("隐藏登录窗口") self.win.hide() # 调试输出:检查是否有重复创建 print(f"主窗口实例: {self.main_window}") else: QMessageBox.warning(self.win, '登录失败', '用户名或密码错误,请重试。') def run(self): self.win.show() sys.exit(self.app.exec_()) self.db.close() if __name__ == "__main__": app = App() app.run()为什么登录后会跳出两个主界面,请求帮帮我
最新发布
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值