MCPcopy Create free account
hub / github.com/geekcomputers/Python / show_employee_list_page

Function show_employee_list_page

bank_managment_system/QTFrontend.py:587–688  ·  view source on GitHub ↗
(parent, title)

Source from the content-addressed store, hash-verified

585
586
587def show_employee_list_page(parent, title):
588 page, main_layout = create_page_with_header(parent, title)
589
590 content_frame = create_styled_frame(
591 page, style="background-color: #f9f9f9; border-radius: 10px; padding: 15px;"
592 )
593 content_frame.setSizePolicy(
594 QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding
595 )
596 content_layout = QtWidgets.QVBoxLayout(content_frame)
597
598 # Table frame
599 table_frame = create_styled_frame(
600 content_frame,
601 style="background-color: #ffffff; border-radius: 8px; padding: 10px;",
602 )
603 table_layout = QtWidgets.QVBoxLayout(table_frame)
604 table_layout.setSpacing(0)
605
606 # Header row
607 header_frame = create_styled_frame(
608 table_frame,
609 style="background-color: #f5f5f5; ; border-radius: 8px 8px 0 0; padding: 10px;",
610 )
611 header_layout = QtWidgets.QHBoxLayout(header_frame)
612 header_layout.setContentsMargins(10, 5, 10, 5)
613 headers = ["Name", "Position", "Salary"]
614 for i, header in enumerate(headers):
615 header_label = QtWidgets.QLabel(header, header_frame)
616 header_label.setStyleSheet(
617 "font-weight: bold; font-size: 14px; color: #333333; padding: 0px; margin: 0px;"
618 )
619 if i == 2: # Right-align salary header
620 header_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
621 else:
622 header_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
623 header_layout.addWidget(
624 header_label, 1 if i < 2 else 0
625 ) # Stretch name and position, not salary
626 table_layout.addWidget(header_frame)
627
628 # Employee rows
629 employees = backend.show_employees_for_update()
630 for row, employee in enumerate(employees):
631 row_frame = create_styled_frame(
632 table_frame,
633 style=f"background-color: {'#fafafa' if row % 2 else '#ffffff'}; padding: 8px;",
634 )
635 row_layout = QtWidgets.QHBoxLayout(row_frame)
636 row_layout.setContentsMargins(10, 5, 10, 5)
637
638 # Name
639 name_label = QtWidgets.QLabel(employee[0], row_frame)
640 name_label.setStyleSheet(
641 "font-size: 14px; color: #333333; padding: 0px; margin: 0px;"
642 )
643 name_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
644 row_layout.addWidget(name_label, 1)

Callers 1

setup_main_windowFunction · 0.85

Calls 2

create_page_with_headerFunction · 0.85
create_styled_frameFunction · 0.85

Tested by

no test coverage detected