Пример #1
0
    def __init__(self, parent=None):
        self.__users = None

        self.user_service = UserService(self)

        super(AdminWidget, self).__init__(parent)
        self.button_add_user = QPushButton('Add user')
        self.button_remove_user = QPushButton('Remove user')
        self.user_search_input = QLineEdit()
        self.user_list = QListWidget()
        self.button_logout = QPushButton('Logout')

        self.user_search_input.setPlaceholderText('Search users')
        self.user_list.setMinimumWidth(400)

        left_column = QVBoxLayout()
        left_column.addWidget(self.button_add_user)
        left_column.addWidget(self.button_remove_user)
        left_column.addStretch()
        left_column.addWidget(self.button_logout)

        right_column = QVBoxLayout()
        right_column.addWidget(self.user_search_input)
        right_column.addWidget(self.user_list)

        layout = QHBoxLayout()
        layout.addLayout(left_column)
        layout.addLayout(right_column)

        widget = QWidget()
        widget.setLayout(layout)

        self.addTab(widget, 'Users manager')
        self.addTab(UserWidget(parent), 'Books manager')

        self.button_add_user.clicked.connect(self.add_user)
        self.button_remove_user.clicked.connect(
            lambda: self.user_service.delete_user(
                self.__users[self.user_list.currentRow()]
            )
        )
        self.user_search_input.textChanged.connect(self.refresh)
        self.user_list.currentRowChanged.connect(self.user_choice)
        self.button_logout.clicked.connect(parent.request_logout)