Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Элемент QCheckBox на форме QWidget
И так продолжаем разбираться с элементами окна. Сегодня это QCheckBox. CheckBox можно перевести как флаг или переключатель. Обычно данный объект используется в двух состояниях - возведён флаг или сброшен. Можно, однако, добавить третье состояние.
В сегодняшней программе мы будем использовать этот объект воздействия на поле, где вводится пароль. Если флаг взведён, то пароль видно (см. рисунки 1 и 2).
Ниже представлены скриншоты программы, ещё ниже ссылка на полный текст программы.
При создании объекта QWidget на нём создаются элементы. Обратим внимание, что поля ввода создаются непосредственно из библиотечного класса QLineEdit. В данном случае это удобно, так как никакой обработки внутри этих объектов нет. Просто меняются свойства. Тогда как для кнопки (QPushButton) и флага (QCheckBox) мы создаём классы, которые наследуют от соответствующих классов библиотеки PyQT5.
Нажатие кнопки (см. класс BtnQuit) обрабатывается уже известным нам способом. При нажатии кнопки проверяются имя и пароль.
Теперь обратимся к классу ch, который наследует от QCheckBox. Обработку событий осуществляем через сигнал stateChanged (self.stateChanged.connect(self.chng)). QCheckBox.isChecked() - проверяет состояние флага, которое меняется до того как приходит сигнал Changed. В зависимости от значения флага меняется свойство поля ввода, где вводится пароль. QLineEdit.setEchoMode(QLineEdit.Password) или QLineEdit.setEchoMode(QLineEdit.Normal).
Работа программы см. Рисунки 1 и 2
Ссылка на весь текст программы
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.