class Add_Book_Window(QMainWindow):

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('返回')

    # 设置出版时间输入框验证器和颜色
    self.edit_add_time.setValidator(QRegExpValidator(QRegExp('\d{4}-\d{2}-\d{2}'), self))
    self.edit_add_time.textChanged.connect(self.on_edit_add_time_text_changed)

    # 创建布局
    layout = QGridLayout()
    layout.addWidget(self.label_add_bookid, 0, 0)
    layout.addWidget(self.edit_add_bookid, 0, 1)
    layout.addWidget(self.label_add_bookname, 1, 0)
    layout.addWidget(self.edit_add_bookname, 1, 1)
    layout.addWidget(self.label_add_author, 2, 0)
    layout.addWidget(self.edit_add_author, 2, 1)
    layout.addWidget(self.label_add_chubanshe, 3, 0)
    layout.addWidget(self.edit_add_chubanshe, 3, 1)
    layout.addWidget(self.label_add_time, 4, 0)
    layout.addWidget(self.edit_add_time, 4, 1)
    layout.addWidget(self.label_add_price, 5, 0)
    layout.addWidget(self.edit_add_price, 5, 1)
    layout.addWidget(self.label_add_lendornot, 6, 0)
    layout.addWidget(self.combo_add_lendornot, 6, 1)
    layout.addWidget(self.btn_add_book_yes, 7, 0)
    layout.addWidget(self.btn_add_book_fanhui, 7, 1)

    # 创建中心窗口部件
    central_widget = QWidget()
    central_widget.setLayout(layout)
    self.setCentralWidget(central_widget)

def on_edit_add_time_text_changed(self, text):
    if not QRegExp('\d{4}-\d{2}-\d{2}').exactMatch(text):
        self.label_add_time.setStyleSheet('color: red;')
    else:
        self.label_add_time.setStyleSheet('color: black;')
Python PyQt5 图书管理系统:增加图书界面 - 出版时间验证与颜色设置

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

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