关于#pyqt#的窗口问题

#pyqt窗口初始失败 但窗口依旧打开(我想让他关闭)
首先我要获取用户输入的学号,以此来访问数据库获取到此学生的所有信息,并加载这个修改界面上。界面如下

img


在用户输入的学号不存在时,弹出提示框并不展示修改窗口。
现在遇到的问题是,当我判断这个学号不存在时 ,使用close()并不会关闭窗口,他会跳出一个没有初始数据的窗口,求解

img

img

相关代码片段如下:

#修改页面
class UPDATA_infor(QMainWindow):
def init(self):
super(UPDATA_infor, self).init()
self.ui=Ui_MainWindow3()
self.ui.setupUi(self)
self.setWindowTitle("修改数据")
self.conn = pymysql.connect(
host='localhost',
user=f'{user}', # 用户
password=f'{password}', # 密码
db='infromation', # 数据库名
charset='utf8',
)
chushi=self.chushi()
self.ui.pushButton.clicked.connect(self.update_infor)

#界面初始数据加载
def chushi(self):
    try:
        cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
        result = {}
        sql1 = f"select * from base_information where stunum='{sel}'"
        row1 = cursor.execute(sql1)
        result1 = cursor.fetchall()[0]
        result.update(result1)
        sql2 = f"select sturoom,stubad from rooms where stunum='{sel}' "
        row2 = cursor.execute(sql2)
        result2 = cursor.fetchall()[0]
        result.update(result2)
        sql3 = f"select chinese,data_base,math,english from curriculum where stunum='{sel}'"
        row3 = cursor.execute(sql3)
        result3 = cursor.fetchall()[0]
        result.update(result3)
        values = list(result.values())
        self.ui.lineEdit.setText(str(values[0]))
        self.ui.lineEdit_2.setText(str(values[2]))
        self.ui.lineEdit_3.setText(str(values[4]))
        self.ui.lineEdit_4.setText(str(values[1]))
        self.ui.lineEdit_5.setText(str(values[3]))
        self.ui.lineEdit_6.setText(str(values[5]))
        self.ui.lineEdit_7.setText(str(values[6]))
        self.ui.lineEdit_8.setText(str(values[7]))
        self.stunum = str(values[0])
        self.stuname = str(values[1])
        self.stuage = values[2]
        self.stugender = str(values[3])
        self.stuclass = str(values[4])
        self.stutel = str(values[5])
        self.sturoom = values[6]
        self.stubad = values[7]
        if str(values[8]) == "√":
            self.ui.checkBox.setChecked(True)
        else:
            self.ui.checkBox.setChecked(False)
        if str(values[9]) == "√":
            self.ui.checkBox_2.setChecked(True)
        else:
            self.ui.checkBox_2.setChecked(False)
        if str(values[10]) == "√":
            self.ui.checkBox_3.setChecked(True)
        else:
            self.ui.checkBox_3.setChecked(False)
        if str(values[11]) == "√":
            self.ui.checkBox_4.setChecked(True)
        else:
            self.ui.checkBox_4.setChecked(False)
    except:
        QMessageBox.information(self,"tip","学生不存在!",QMessageBox.Ok)
        self.close()