Python PyQt5 图书管理系统:添加图书界面实现

本文将介绍使用 Python PyQt5 库创建图书管理系统的添加图书界面,并实现对出版时间的格式校验功能,确保用户输入的时间格式正确。

1. 添加图书界面代码

def __init__(self, privilege, parent=None):
    super(Add_Book_Window, self).__init__(parent)
    self.privilege = privilege
    self.setWindowTitle('增加图书界面')
    self.resize(400, 300)

    # 创建界面控件
    self.label_add_bookid = QLabel('图书ID:')
    self.edit_add_bookid = QLineEdit()
    self.label_add_bookname = QLabel('书名:')
    self.edit_add_bookname = QLineEdit()
    self.label_add_author = QLabel('作者:')
    self.edit_add_author = QLineEdit()
    self.label_add_chubanshe = QLabel('出版社:')
    self.edit_add_chubanshe = QLineEdit()
    self.label_add_time = QLabel('出版时间:')
    self.edit_add_time = QLineEdit()
    self.label_add_price = QLabel('价格:')
    self.edit_add_price = QLineEdit()
    self.label_add_lendornot = QLabel('是否借出:')
    self.combo_add_lendornot = QComboBox()
    self.combo_add_lendornot.addItem('是')
    self.combo_add_lendornot.addItem('否')
    self.btn_add_book_yes = QPushButton('添加')
    self.btn_add_book_fanhui = QPushButton('返回')

    # 监听edit_add_time的textChanged信号,判断文本颜色
    self.edit_add_time.textChanged.connect(self.check_time_format)

def check_time_format(self):
    '''判断时间格式是否正确,设置文本颜色'''
    time_str = self.edit_add_time.text()
    if re.match(r'^\d{4}-\d{2}-\d{2}$', time_str):
        self.edit_add_time.setStyleSheet('color: black')
    else:
        self.edit_add_time.setStyleSheet('color: red')

2. 代码解析

  1. 界面控件创建: 代码创建了添加图书界面所需的各种控件,包括标签、文本框、下拉菜单和按钮。
  2. 出版时间格式校验: check_time_format 函数使用正则表达式 r'^\d{4}-\d{2}-\d{2}$' 校验用户输入的时间格式是否为 'YYYY-MM-DD',并根据校验结果设置文本框的颜色:
    • 若格式正确,文本颜色为黑色。
    • 若格式错误,文本颜色为红色。
  3. 信号连接: 代码将 edit_add_time 文本框的 textChanged 信号连接到 check_time_format 函数,使得用户每次更改出版时间文本时都会触发校验函数,实时更新文本颜色。

3. 总结

本文展示了如何使用 Python PyQt5 库创建图书管理系统的添加图书界面,并通过自定义函数和信号连接实现对出版时间格式的校验功能,确保用户输入的时间格式正确。


原文地址: http://www.cveoy.top/t/topic/oQgG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录