Найти тему
programmer's notes (python and more)

Программирование на языке Python. Библиотека PyQT5. Элементы окна, продолжение (QCheckBox)

Доброго времени суток, читатели, зрители моего канала 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

Рисунок 1. Флаг сброшен, пароль невидим
Рисунок 1. Флаг сброшен, пароль невидим
Рисунок 2. Флаг установлен, пароль видим
Рисунок 2. Флаг установлен, пароль видим

Ссылка на весь текст программы

primer215.py

Ну, пока всё!

Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.

- Флажок можно поднять или опустить. Вот объясни мне, что значит третье положение у флажка. - Понимаешь, вот ты знаешь, что сейчас определишься с положением флажка, но ещё не определился. ;)
- Флажок можно поднять или опустить. Вот объясни мне, что значит третье положение у флажка. - Понимаешь, вот ты знаешь, что сейчас определишься с положением флажка, но ещё не определился. ;)