有客自远方来52 2024-05-10 18:34 采纳率: 15.3%
浏览 3
已结题

如何实现成功弹出页面?

以下是我的代码,我想实现当搜索不到某本图书时,会弹出是否留言的提示,当点击确认后就会进去留言界面,我该如何添加
数据库图书查询代码

def list(rbook: Rbook):
    """
    根据条件查询图书信息
    :param Hbook: 查询参数
    :return:
    """
    con = None
    try:
        con = dbUtil.getCon()
        cursor = con.cursor()
        # 查询数据
        sql = "SELECT b.bid,t.ID,ty.bookTypeName,b.bookName,b.author,b.age,b.sex,b.price,t.bookDesc,b.borrowDate," \
              "b.returnDate,b.stock FROM borrow AS b,t_book AS t,t_booktype AS ty WHERE b.TID=ty.TID AND b.ID=t.ID"
        if rbook != None:
            if rbook.bookName.strip() != '':
                sql += " and b.bookName like '%" + rbook.bookName + "%' "
            if rbook.author.strip() != '':
                sql += " and b.author like '%" + rbook.author + "%' "
            if rbook.TID != -1:
                sql += " and b.TID = " + str(rbook.TID)
        cursor.execute(sql)
        con.commit()
        return cursor.fetchall()
    except Exception as e:
        print(f"查询数据时发生错误: {e}")
        if con is not None:
            con.rollback()
        return None
    finally:
        dbUtil.closeCon(con)

逻辑功能代码

def initTable(self):
    """
    根据条件初始化表格
    :return:
    """
    bookName = self.s_bookNameInput.text()
    authorName = self.s_authorInput.text()
    TID = self.s_ComboBox.currentData()
    s_book = Book(bookName, authorName, TID)
    result = bookDao.list(s_book)
    row = 0
    if result:
        row = len(result)
    self.bookListTable.setColumnCount(9)
    self.bookListTable.setRowCount(row)
    self.bookListTable.verticalHeader().setVisible(False)  # 隐藏垂直标题 序号
    self.bookListTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)  # 禁止编辑单元格
    self.bookListTable.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
    self.bookListTable.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
    self.bookListTable.setHorizontalHeaderLabels(
        ['图书编号', '图书名称', '图书作者', '作者年龄', '作者性别', '图书价格', '库存量', '图书类别', '图书简介'])
    self.bookListTable.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch)  # 列头自适应
    self.bookListTable.setSelectionBehavior(
        QAbstractItemView.SelectionBehavior.SelectRows)  # 设置选择行为,以行为单位

    for i, record in enumerate(result):
        for j in range(9):
            data = QtWidgets.QTableWidgetItem(str(record[j]))
            # 设置单元格内容居中对齐
            data.setTextAlignment(Qt.AlignmentFlag.AlignCenter)
            self.bookListTable.setItem(i, j, data)

留言界面代码

        if borrowDao.list(rbook) == 0:
            reply = QMessageBox.question(self, '系统提示', '是否进行图书留言?',
                                         QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No,
                                         QMessageBox.StandardButton.No)

            if reply == QMessageBox.StandardButton.Yes:
                self.text = text.Ui_Form()
                self.text.show()

            return


  • 写回答

2条回答 默认 最新

  • 专家-皆知 2024-05-10 18:34
    关注

    在查询结果为空时,展示弹窗询问留言,点击确认跳转并提交留言。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月11日
  • 创建了问题 5月10日